| |
INTEGRATION |
| |
| |
| |
| |
| |
|
| |
| MANUEL D'INTEGRATION PAR DEFAUT |
| |
| |
| Lors de votre inscription sur www.mediapass.biz ,vous devez déterminer un site et un contrôle pour un document. Vous obtenez ainsi 2 codes HTML/javascript que vous devez intégrer dans vos pages web. |
| |
| |
| Les 2 codes fournis sont du genre : |
| |
|
code 1 : |
<!--CODE MédiaPass début-->
<SCRIPT LANGUAGE="JavaScript" src="http://www.mediapass.biz/fr/affiliation/media-window.asp?id_site=xxxx&id_doc=yyyy"></script>
<NOSCRIPT>
<meta http-equiv="refresh" content="0;URL=http://www.mediapass.biz/fr/affiliation/media-error.asp">
</NOSCRIPT>
<!--CODE MédiaPass fin--> |
|
| |
| code 2 : |
<!--CODE MédiaPass début-->
<SCRIPT LANGUAGE="JavaScript" src="http://www.mediapass.biz/fr/affiliation/media-verif.asp?id_site=xxxx&id_doc=yyyy"></script>
<NOSCRIPT>
<meta http-equiv="refresh" content="0;URL=http://www.mediapass.biz/fr/affiliation/media-error.asp">
</NOSCRIPT>
<!--CODE MédiaPass fin--> |
|
| |
| |
| La structure de votre site est, par exemple, la suivante : |
| |
|
| |
| Le 1er code (code pour l'affichage du cadre et la saisie du code fourni par le serveur vocal) est à insérer sur la page d'accueil de votre section payante. Ce code est à copier comme il vous est donné sur le site (sans le modifier) entre les balises <BODY> de votre page : |
| |
| |
<HTML>
<HEAD>
..
<HEAD>
<BODY>
<Copier votre code1 ici>
...
</BODY>
</HTML> |
|
|
| |
| Le second code, qui va permettre de contrôler que l'utilisateur a bien acheté un code pour naviguer dans votre zone payante, doit être inséré sur toutes les pages que vous souhaitez rendre payantes. Comme pour le code précédent, vous devez copier le code tel qu'il vous est donné sur le site entre les balises <HEAD> de vos différentes pages : |
| |
|
<HTML>
<HEAD>
..
<Copier votre code1 ici>
<HEAD>
<BODY>
...
</BODY>
</HTML> |
|
|
|
| |
Une page d'erreur est affichée si :
· l'utilisateur a saisi un code invalide ou qu'il n'a pas obtenu par appel sur le serveur vocal
· l'utilisateur a saisi un code qui a expiré
Vous pouvez paramétrer cette page selon vos souhaits. Nous vous conseillons néanmoins d'y indiquer les motifs de son affichage :
Votre code d'accès est invalide ou a expiré.
Cliquer ici pour revenir au formulaire de saisie de votre code.
Vous pouvez, si vous le désirez, ré-afficher dans cette page d'erreur le cadre de saisie du code.
Pour toute explication complémentaire ou question, n'hésitez pas à nous contacter. Notre équipe technique est à votre disposition : technique@mediapass.biz |
| |
| Haut de page |
| |
|
| |
| INTEGRATION AVANCEE DE MEDIAPASS |
| |
| |
Ce document est destiné aux utilisateurs de MédiaPass possédant une bonne connaissance en HTML et langage de script serveur tel que le PHP, ASP, JSP ou autre.
Vous trouverez ici un manuel d'intégration et des informations techniques sur le système MédiaPass afin de sécuriser vos pages.
Pour chaque accès sécurisé configuré sur la plate-forme MédiaPass, deux paramètres importants vous sont fournis :
Id_site : contient l'identifiant MédiaPass de votre site.
Id_doc : contient l'identifiant MédiaPass de l'accès protégé.
Ces deux paramètres permettent d'identifier de manière unique votre accès sécurisé. |
| |
| |
| Limitations de la méthode basique d'intégration de MédiaPass |
| |
| La manière basique d'intégrer MédiaPass se fait en intégrant deux scripts : |
| |
| 1/le premier script qui est installé sur la page où se fait la demande d'un code : |
<!--CODE MédiaPass début-->
<SCRIPT LANGUAGE="JavaScript" src="http://www.mediapass.biz/fr/affiliation/media-window.asp?id_site=id_site&id_doc=id_doc"></script>
<NOSCRIPT>
<meta http-equiv="refresh" content="0;URL=http://www.mediapass.biz/fr/affiliation/media-error.asp">
</NOSCRIPT>
<!--CODE MédiaPass fin--> |
|
| |
| Cette partie du code dessine un cadre contenant un formulaire pour la saisie du code MédiaPass. |
| |
| 2/le deuxième script qui est installé sur la page sécurisée : |
<!--CODE MédiaPass début-->
<SCRIPT LANGUAGE="JavaScript" src="http://www.mediapass.biz/fr/affiliation/media-verif.asp?id_site=id_site&id_doc=id_doc"></script>
<NOSCRIPT>
<meta http-equiv="refresh" content="0;URL=http://www.mediapass.biz/fr/affiliation/media-error.asp">
</NOSCRIPT>
<!--CODE MédiaPass fin--> |
|
| |
| Cette partie du code vérifie la validité du code saisi dans la page précédente. |
| |
| Cette intégration fait apparaître quelques limites : |
- L'installation du cadre MédiaPass n'est pas forcément conforme à la charte du site affilié=>impossibilité de personnaliser le formulaire de saisie du code
- La vérification du code MédiaPass se fait du côté Client et non du coté serveur
- Impossibilité de protéger de manière sûre le téléchargement d'un fichier
- La page sécurisée est statique=>Impossibilité de faire circuler des paramètres dynamiques
- .. |
| |
| Haut
de page |
| |
| Personnalisation du formulaire de saisie du code |
| |
L'utilisateur de MédiaPass a la possibilité d'écrire lui même son formulaire MédiaPass, invitant les internautes à saisir un code MédiaPass.
Pour cela, le formulaire HTML doit contenir au minimum les 3 champs suivants :
- le champ id_site contenant l'identifiant du site
- le champ id_doc contenant l'identifiant de l'accès sécurisé
- le champ code (de type TEXT) dans lequel l'internaute doit saisir son code d'accès MédiaPass
Les paramètres du formulaire pouvant être transmis en POST ou en GET.
A la soumission du formulaire, toutes ces données sont envoyés à la page http://www.mediapass.biz/fr/affiliation/media-verifform.asp.
Le système MédiaPass vérifie alors la validité du code. Si ce dernier est valide, il y a alors redirection vers la page sécurisée. |
| |
| |
| Paramètres optionnels du formulaire : |
| |
- le champ display (type Hidden) : si ce champ est positionné à « YES », les paramètres id_doc, id_site et ticket (code MédiaPass saisi par l'internaute) seront passées à la page sécurisée (mais aussi à la page erreur) à la validation du code.
Ex :
Dans le formulaire, si vous introduisez le champ display :
<input type=hidden name=display value=YES>
Et si votre url de la page sécurisée est http://www.votresite.com/mapagesecure.asp
A la validation du formulaire et si le code est valide, l'internaute sera redirigé sur
http://www.votresite.com/mapagesecure.asp?id_doc=id_doc&id_site=id_site&ticket=012B5A
|
- Le champ data (type Hidden) : ce champ permet de faire passer n'importe quelle valeur à la page sécurisée une fois la validation du code effectué.
Ex :
Dans le formulaire, si vous introduisez le champ data :
<input type=hidden name=data value=yyyyy>
Et si votre url de la page securisée est http://www.votresite.com/mapagesecure.asp
A la validation du formulaire et si le code est valide, l'internaute sera redirigé sur
http://www.votresite.com/mapagesecure.asp?data=yyyyy |
| |
- Le champ paramurl (type Hidden) : ce champ permet de faire passer plusieurs paramètres à la page sécurisée une fois la validation du code effectué.
Attention ! : la valeur de ce champ doit être obligatoirement url encodé.
Ex :
Dans le formulaire, si vous introduisez le champ paramurl :
<input type=hidden name=paramurl value='var1%3D12%26var2%3Dessai'>
équivaut à faire passer les variables var1=1&var2=essai
Si votre url de la page sécurisée est http://www.votresite.com/mapagesecure.asp
A la validation du formulaire et si le code est valide, l'internaute sera redirigé sur
http://www.votresite.com/mapagesecure.asp?var1=1&var2=essai |
| |
- nbcode (type Hidden) : ce champ permet de faire passer le nombre de codes à saisir dans le formulaire mediapass (doit être en concordance avec le paramétrage de votre accès).
- code1 (type Text) : code numéro 2 dans le cas d'un accès mutlicode.
- code2 (type Text) : code numéro 3 dans le cas d'un accès mutlicode.
- code3 (type Text) : code numéro 4 dans le cas d'un accès mutlicode.
- code4 (type Text) : code numéro 5 dans le cas d'un accès mutlicode.
- code5 (type Text) : code numéro 6 dans le cas d'un accès mutlicode.
- code6 (type Text) : code numéro 7 dans le cas d'un accès mutlicode.
- code7 (type Text) : code numéro 8 dans le cas d'un accès mutlicode.
- code8 (type Text) : code numéro 9 dans le cas d'un accès mutlicode.
- code9 (type Text) : code numéro 10 dans le cas d'un accès mutlicode. |
| |
| |
| Il est possible d'utiliser ces trois champs optionnels en même temps, comme l'exemple ci dessous : |
| |
<form action= http://www.mediapass.biz/fr/affiliation/media-verifform.asp method="POST">
<input type="hidden" name="id_site" value="id_site">
<input type="hidden" name="id_doc" value="id_doc">
<input type="hidden" name="display" value="YES">
<input type="hidden" name="data" value="yyyyy">
<input type="hidden" name="paramurl" value="var1%3D12%26var2%3Dessai">
<input type="text" name="code" size=6>
<input type="submit" value="valider code">
</form> |
|
| |
A la validation du formulaire et si le code est valide, l'internaute sera redirigé sur
http://www.votresite.com/mapagesecure.asp?data=yyyyy&var1=1&var2=essai&id_doc=id_doc &id_site=id_site&ticket=025F5T |
| |
| Note : il est possible d'utiliser le script standard fourni pour afficher le cadre MédiaPass et les 3 variables optionnelles évoquées ci dessous. Pour cela, il suffit de passer en paramètre au script media-verifform.asp (présent dans la balise <SCRIPT language=javascript src=..) les variables display, data et paramurl, comme le montre l'exemple ci dessous : |
| |
<!--CODE MédiaPass début-->
<SCRIPT LANGUAGE="JavaScript" src="http://www.mediapass.biz/fr/affiliation/media-window.asp?id_site=id_site&id_doc=id_doc&display=YES&data=yyyyy¶murl= var1%3D12%26var2%3Dessai"></script>
<NOSCRIPT>
<meta http-equiv="refresh" content="0;URL=http://www.mediapass.biz/fr/affiliation/media-error.asp">
</NOSCRIPT>
<!--CODE MédiaPass fin--> |
|
| |
Affichage des drapeaux et des popup des modalités de paiements.
|
| Pour la personnalisation du formulaire HTML de la saisie du code, il est possible de récupérer les drapeaux des pays dans lequel MédiaPass est présent : |
| |
France : http://www.mediapass.biz/fr/affiliation/image/drapeau/french.jpg
Belgique : http://www.mediapass.biz/fr/affiliation/image/drapeau/belge.jpg
Suisse : http://www.mediapass.biz/fr/affiliation/image/drapeau/suisse.jpg
Canada : http://www.mediapass.biz/fr/affiliation/image/drapeau/canada.gif
Italie : http://www.mediapass.biz/fr/affiliation/image/drapeau/italie.jpg
Espagne : http://www.mediapass.biz/fr/affiliation/image/drapeau/espagne.jpg
Allemagne : http://www.mediapass.biz/fr/affiliation/image/drapeau/allemagne.jpg
Grande Bretagne : http://www.mediapass.biz/fr/affiliation/image/drapeau/grd-bretagne.jpg |
| |
Pour chacun des pays correspond un popup de modalité de paiement.
L'url du popup est la suivante : http://www.mediapass.biz/fr/affiliation/media_popup.asp
Le paramètre obligatoire est le id_doc correspondant à l'accès protégé.
Les paramètres optionnels, suivant les pays et suivant les modes d'accès définis lors de la configuration des pages protégées sont les suivants : |
| |
| France |
Typeaudiotel = 1 (0899705105) ou 2 (0897651910) ou 3 (0892707101) (paiement par audiotel France)Typesms = 18 (SMS+ 2€) ou 21 (SMS+ 0,70€) ou 13 (SMS+ 1,5€) ou 28 (SMS+ 3€), Typewha = 14 (WHA 1,80 €) ou 19 (WHA 3€) ou 22 (WHA 0.55€) ou 25 (WHA 6€), Typecb = 15 (2€) ou =17(3€) ou =26 (6€), paiement par CB |
| Belgique |
Typeaudiotel=4 (090336160) ou 5 (090999320) ou 24 (090999420), paiement par audiotel Typecb = 15 (2€) ou =17(3€) ou =26 (6€), paiment par CB, typesms=27 (1€) |
| Suisse |
Typeaudiotel=6 (0906906026) ou 7 (0906906096), paiement par audiotel Typecb=15 (2€) ou =17(3€) ou =26 (6€), paiement par CB |
| Canada |
Typeaudiotel=8 (19006301010), paiement par audiotel Typecb=15 (2€) ou =17(3€) ou =26 (6€), paiement par CB |
| Italie |
Typeaudiotel=11 (166115790), paiement par audiotel Typecb=15 (2€) ou =17(3€) ou =26 (6€), paiement par CB |
| Espagne |
Typeaudiotel=12 (0906886882), paiement par audiotel Typecb=15 (2€) ou =17(3€) ou =26 (6€),paiement par CB |
| Allemagne |
Typeaudiotel=9 (0190745147), paiement par audiotel Typecb=15 (2€) ou =17(3€) ou =26 (6€),paiement par CB |
| Grande Bretagne |
Typeaudiotel=10 (0906900960), paiement par audiotel Typecb=15 (2€) ou =17(3€) ou =26 (6€),paiement par CB |
|
| |
| Attention ! : un popup par pays |
| |
| Haut
de page |
| |
| Vérification de la validité du code et protection de la page sécurisée. |
| |
| La première possibilité de sécuriser la page est d'introduire en haut de la page sécurisée le script fourni lors de la configuration d'un accès : |
| |
<!--CODE MédiaPass début-->
<SCRIPT LANGUAGE="JavaScript" src="http://www.mediapass.biz/fr/affiliation/media-verif.asp?id_site=id_site&id_doc=id_doc"></script>
<NOSCRIPT>
<meta http-equiv="refresh" content="0;URL=http://www.mediapass.biz/fr/affiliation/media-error.asp">
</NOSCRIPT>
<!--CODE MédiaPass fin--> |
|
| |
Malheureusement ce script est executé du côté client (donc de l'internaute).
Il est possible par l'intermédiaire de scripts serveur PHP, ASP, JSP d'interroger directement la base
MédiaPass pour vérifier la validité d'un code grâce à la variable display et de contourner ainsi le
problème de la vérification du code côté client.
Le principe est d'effectuer une requête http sur le serveur MédiaPass avec en paramètre le code
saisi par l'internaute et l'identifiant du document sécurisé en question.
Pour cela, il suffit de récupérer l'id_doc et le id_site de l'accès protégé et d'appeler : http://www.mediapass.biz/fr/affiliation/checkticketall.asp?id_doc=id_doc&id_site=id_site&ticket
=codemediapass
En retour, ce script peut renvoyer deux valeurs possibles :
OK : Le code est valide
ERR : Le code n'est pas valide
Attention : l'appel de cette page "brûle" le ticket.
Paramètres optionnels à ce script :
- desc=YES : en plus des valeurs OK ou bien ERR, ce champ permet de renvoyer de manière textuelle les raisons d'un cas d'erreur ou bien les identifications de paiement utilisés pour cet accès. |
| |
Note :
Dans le cas d'un accès multicodes, vous devez appeler checkticketall.asp avec le bon nombre de ticket. Sinon le script vous renverra une erreur
Dans ce cas, dans la variable ticket, vous devez faire passer tous les tickets séparés par des ';'
Ex : http://www.mediapass.biz/fr/checkticketall.asp?id_site=site&id_doc=doc&ticket=752A0X;748B1E
Pour un accès à 2 codes. |
| |
| |
| Exemple d'utilisation : |
| |
En ASP :
Si le paramètre display a été positionné dans le formulaire HTML de saisie du code MédiaPass, la page sécurisée sera alors appelée de la manière suivante :
http://www.votresite.com/mapagesecure.asp?id_doc=id_doc&id_site=id_site&ticket=codemediapass
Le code ASP de vérification du code correspondant peut être généré de la manière suivante : |
| |
<%
'récupération des variables
id_doc = request("id_doc")
id_site = request("id_site")
ticket = request("ticket")
'vérification de la validité du ticket
set http = Server.CreateObject("Microsoft.XMLHTTP")
http.Open "GET","http://www.mediapass.biz/fr/affiliation/checkticketall.asp?id_site=" & id_site & "&id_doc=" & id_doc & "&ticket=" & ticket,False
http.Send
result = http.responseText
set http = nothing
if (instr(1,Ucase(result),"OK")>0) then 'le script checkticket a renvoyé OK, le code MédiaPass
'est valide=>accès autorisé
Response.Write("OK - Code Bon")
Else
'Le code MédiaPass n'est pas valide=>accès refusé
Response.Write("ERR - Code Pas Bon")
end if
%> |
|
| |
| En PHP : |
| |
<?php //recuperation des variables
$id_site=$HTTP_GET_VARS["id_site"];
$id_doc=$HTTP_GET_VARS["id_doc"];
$ticket=$HTTP_GET_VARS["ticket"];
//verification de la validité du code
$result = @file("http://www.mediapass.biz/fr/affiliation/checkticketall.asp?id_doc=$id_doc&id_site=
$id_site&ticket=$ticket");
if (ereg("OK",$result[0])) {
//le code est valide=>accès autorisé
} else {
//le code n'est pas valide=>accès refusé
}
?> |
|
| |
| Haut
de page |
| |
| Exemple d'application : protection de téléchargement d'un fichier |
| |
Vous trouverez ci joint deux exemples de codes en ASP et en PHP de la page sécurisée qui permet le contrôle du téléchargement.
Exemple d'application : téléchargement du fichier zip : lefichieratelecharger.zip |
| |
| En ASP : |
| |
<%
id_doc = request("id_doc")
id_site = request("id_site")
ticket = request("ticket")
'verification de la validation du code
set http = Server.CreateObject("Microsoft.XMLHTTP")
http.Open "GET","http://www.mediapass.biz/fr/affiliation/checkticketall.asp?id_site=" & id_site & "&id_doc=" & id_doc & "&ticket=" & ticket,False
http.Send
result = http.responseText
set http = nothing
if (instr(1,Ucase(result),"OK")>0) then
'le code est valide
set objStream = server.createobject("adodb.stream")
objStream.type=1
objStream.open
'on charge le fichier zip
objStream.loadfromfile("d:\lefichieratelecharger.zip")
buffer = objStream.Read
objStream.close
set objStream = nothing
'on écrit les entêtes de la page sécurisée pour un
contenu binaire
Response.Buffer=true
Response.Clear
response.contenttype="application/octet-stream"
response.addHeader "Content-Disposition", "attachement; filename=toto.zip"
response.binaryWrite buffer
else
'le code n'est pas valide
Response.Redirect("erreur.html")
end if
%> |
|
| |
| En php : |
| |
<?php
//recuperation des variables
$id_site=$HTTP_GET_VARS["id_site"];
$id_doc=$HTTP_GET_VARS["id_doc"];
$ticket=$HTTP_GET_VARS["ticket"];
//verification de la validité du code
$result = @file("http://www.mediapass.biz/fr/affiliation/checkticketall.asp?id_doc=
$id_doc&id_site=
$id_site&ticket=$ticket");
if (ereg("OK",$result[0])) {
//le code est valide=>accès autorisé
header( "Content-type: application/octet-stream" );
header( "Content-Disposition: attachement; filename=toto.zip");
header("Pragma: no-cache");
readfile("c:\lefichieratelecharger.zip");
} else { //le code n'est pas valide=>accès refusé
header("Location: erreur.html");
}
?> |
|
| |
| Le champ content-type (positionné ici à application/octet-stream) peut être changé selon le type de fichier à télécharger. Ci dessous, quelques exemples de « Content-type », les plus utilisés (cette liste n'est pas exhaustive). |
| |
| exe |
application/octet-stream |
| zip |
application/octet-stream |
| asf |
video/x-ms-asf |
| asx |
video/x-ms-asx |
| wma |
audio/x-ms-wma |
| wax |
audio/x-ms-wax |
| wmv |
video/x-ms-wmv |
| wm |
video/x-ms-wm |
| wmx |
video/x-ms-wmx |
| ra |
audio/vnd.rn-realaudio |
| ram |
audio/vnd.rn-realaudio |
| rpm |
video/vnd.rn-realvideo |
| rpm |
audio/x-pn-realaudio-plugin |
| bmp |
image/bmp |
| gif |
image/gif |
| jpeg jpg |
image/jpeg |
| png |
image/png |
| mp3 |
audio/mpeg |
| mp2 |
audio/mpeg |
| mpga |
audio/mpeg |
| wav |
audio/x-wav |
|
| |
| Haut
de page |