le php et allopass(protection de page)

le php et allopass(protection de page) - PHP - Programmation

Marsh Posté le 16-07-2006 à 15:26:14    

bonjour tout le monde
 
J'ai une page php, j'aimerais la proteger car elle est à accès payant.
Le problème c'est que allopass me dit d'aller dans une certaine rubrique expliquant "comment proteger une page si on utilise du php" hors à cette rubrique il n'y a pas ce que je cherche... :fou:  
 
Je peux refaire ma page en html et remettre le script donné par allopass (pour html donc) et y inclure mon php dedans mais ça créé des incompatibilité en fin de page donc c'est pas top...
 
Merci de votre aide
 
Moi

Reply

Marsh Posté le 16-07-2006 à 15:26:14   

Reply

Marsh Posté le 16-07-2006 à 17:32:39    

Faudrait voir à apprendre PHP .. après la solution se présentera d'elle même :heink:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 16-07-2006 à 20:39:43    

ce que me donne allopass est pour une histoire trop spécifique à leur exemple.
J'ai seulement les bases en PHP et je ne vois pas de solution appart en mettant un truc pour s'identifier mais c'est as ce que je veux faire

Reply

Marsh Posté le 16-07-2006 à 21:14:42    

Ne sachant pas ce qu'ils te proposent, ni ce que tu veux faire, je vois pas comment on peut t'aider


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 16-07-2006 à 22:12:18    

tout betement proteger ma page php en y inserrant un script de manière à ne pas pouvoir accèder à la page protegée en entrant l'adresse directement.
Je ne peux pas faire de liens j'ai pas envie qu'on me sorte que je fais de la pub.

Reply

Marsh Posté le 16-07-2006 à 23:43:39    

Ce qu'il te faut c'est faire un système basé sur les sessions , maintenant on peut pas faire tout le boulot à ta place .. Faut lire un peu la doc et les tuto ...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 17-07-2006 à 00:37:17    

justement les histoires de sessions je m'y connais pas sauf pour les trucs du genre "mot de passe et nom utilisateur" or je ne veux pas faire ça, je veux juste bloquer l'accès à ma page tout simplement :D
 
encore un truc, moi je veux des conseils et pas qu'on me mache le travail ;-)

Reply

Marsh Posté le 17-07-2006 à 01:56:50    

Si tu as une seule page à protéger, tu n'as pas besoin de faire un système de session. Tu dois juste ajouter le script fourni par allopass au début de ta page protégée :  
 

Code :
  1. <?
  2. $RECALL=$HTTP_GET_VARS["RECALL"];
  3. if (trim($RECALL)=="" ) {
  4. // La variable RECALL est vide, renvoi de l'internaute
  5. //vers une page d'erreur
  6.   Header("Location: erreur.php" );
  7.   exit;
  8. }
  9. // $RECALL contient le code d'accès
  10. $RECALL = urlencode($RECALL);
  11. // $AUTH doit contenir l'identifiant de VOTRE document
  12. $AUTH = urlencode("xxx/xxx/xxx" );
  13. // envoi de la requête vers le serveur AlloPAss
  14. // dans la variable $r[0] on aura la réponse du serveur
  15. // dans la variable $r[1] on aura le code du pays d'appel de l'internaute
  16. //(FR,BE,UK,DE,CH,CA,LU,IT,ES,AT,...)
  17. // Dans le cas du multicode, on aura également $r[2],$r[3] etc...
  18. // contenant à chaque fois le résultat et le code pays.
  19. $r=@file("http://www.allopass.com/check/vf.php4?CODE=$RECALL&AUTH=$AUTH" );
  20. // on teste la réponse du serveur
  21. if (ereg("ERR",$r[0]) || ereg("NOK",$r[0])) {
  22. // Le serveur a répondu ERR ou NOK : l'accès est donc refusé
  23.   header("Location: erreur.php" );
  24.   exit;
  25. }
  26. ?>


 
Et ne pas oublier d'ajouter le <input type="hidden" name="RECALL" value="1"> dans ton formulaire (je crois qu'il n'y est pas par défaut).

Reply

Marsh Posté le 17-07-2006 à 04:29:50    

ryoga427 a écrit :

Si tu as une seule page à protéger, tu n'as pas besoin de faire un système de session. Tu dois juste ajouter le script fourni par allopass au début de ta page protégée :  
 

Code :
  1. <?
  2. $RECALL=$HTTP_GET_VARS["RECALL"];
  3. if (trim($RECALL)=="" ) {
  4. // La variable RECALL est vide, renvoi de l'internaute
  5. //vers une page d'erreur
  6.   Header("Location: erreur.php" );
  7.   exit;
  8. }
  9. // $RECALL contient le code d'accès
  10. $RECALL = urlencode($RECALL);
  11. // $AUTH doit contenir l'identifiant de VOTRE document
  12. $AUTH = urlencode("xxx/xxx/xxx" );
  13. // envoi de la requête vers le serveur AlloPAss
  14. // dans la variable $r[0] on aura la réponse du serveur
  15. // dans la variable $r[1] on aura le code du pays d'appel de l'internaute
  16. //(FR,BE,UK,DE,CH,CA,LU,IT,ES,AT,...)
  17. // Dans le cas du multicode, on aura également $r[2],$r[3] etc...
  18. // contenant à chaque fois le résultat et le code pays.
  19. $r=@file("http://www.allopass.com/check/vf.php4?CODE=$RECALL&AUTH=$AUTH" );
  20. // on teste la réponse du serveur
  21. if (ereg("ERR",$r[0]) || ereg("NOK",$r[0])) {
  22. // Le serveur a répondu ERR ou NOK : l'accès est donc refusé
  23.   header("Location: erreur.php" );
  24.   exit;
  25. }
  26. ?>


 
Et ne pas oublier d'ajouter le <input type="hidden" name="RECALL" value="1"> dans ton formulaire (je crois qu'il n'y est pas par défaut).


 
 
 :D

Reply

Marsh Posté le 17-07-2006 à 11:18:19    

C'est fiable ca ... ?

Reply

Marsh Posté le 17-07-2006 à 11:18:19   

Reply

Marsh Posté le 17-07-2006 à 19:51:29    

Je suppose sinon allopass ne proposerais pas ce code.
Merci ryoga427 ;-)

Message cité 1 fois
Message édité par worms91 le 17-07-2006 à 19:52:11
Reply

Marsh Posté le 17-07-2006 à 19:54:43    

worms91 a écrit :

Je suppose sinon allopass ne proposerais pas ce code.
Merci ryoga427 ;-)


 
Mauvais argument
 

$man a écrit :

C'est fiable ca ... ?


 
A part le fait que c'est du PHP3 apparemment (du moins ça fait un bail que j'avais plus vu le $HTTP_GET_VARS), y a rien qui pose des "problemes" de securité vu qu'en gros tout ce que tu fais c'est passer des données a allopass, et qu'apres c'est eux qui se demerdent avec [:kbchris]


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 17-07-2006 à 20:22:53    

Warning: Cannot modify header information - headers already sent by (output started at /mnt/124/free.fr/2/7/df5/vsdfsdfng/page.php:7) in /mnt/124/free.fr/2/7/7/df5/vsdfsdfng/page.php on line 86
 
j'avais le droit à ça tout à l'heure comment ça se fait ?
voici la ligne en question :   Header("Location: erreur.php" );
 
edit: même erreur pour une autre ligne identique:      header("Location: erreur.php" );

Message cité 1 fois
Message édité par worms91 le 17-07-2006 à 20:23:47
Reply

Marsh Posté le 18-07-2006 à 12:18:24    

worms91 > T'aurais quand même pu chercher "headers already sent by" dans ce forum avant de demander d'où ca vient.
S'il y a une erreur qu'a été expliqué des milliers de fois sur ce forum, c'est bien celle là.

Reply

Marsh Posté le 19-07-2006 à 02:20:57    

worms91 a écrit :

Warning: Cannot modify header information - headers already sent by (output started at /mnt/124/free.fr/2/7/df5/vsdfsdfng/page.php:7) in /mnt/124/free.fr/2/7/7/df5/vsdfsdfng/page.php on line 86
 
j'avais le droit à ça tout à l'heure comment ça se fait ?
voici la ligne en question :   Header("Location: erreur.php" );
 
edit: même erreur pour une autre ligne identique:      header("Location: erreur.php" );

le code qu'on ta donné doit être placé au tout début du script.

Reply

Marsh Posté le 19-07-2006 à 06:37:59    

omega2 a écrit :

worms91 > T'aurais quand même pu chercher "headers already sent by" dans ce forum avant de demander d'où ca vient.
S'il y a une erreur qu'a été expliqué des milliers de fois sur ce forum, c'est bien celle là.


Entièrement d'accord avec toi.

Reply

Marsh Posté le 19-07-2006 à 10:22:00    

pour nous ça paraît évident mais quand tu connais rien à php ce type d'erreur c'est du charabia, alors je pense que même s'il avait eu la présence d'esprit d'effectuer une recherche, c'est pas dit qu'il eût pensé à entrer ces 4 mots clefs là.

Reply

Marsh Posté le 19-07-2006 à 10:38:15    

Akn > Personellement, quand je tombe sur un message d'erreur que je conais pas ou qu'un programme me sort du charabia, (traduction : un message en anglais où je comprend rien) je prend un moteur de recherche et je saisie tout ou une partie du message d'erreur. En faisant ça, j'arrive à m'en sortir assez souvent sans avoir à poser la question.

Reply

Marsh Posté le 19-07-2006 à 10:52:30    

C'est vrai.

Reply

Marsh Posté le 19-07-2006 à 12:06:23    

Arreter de l'emmerder. worm91 a fait clairement comprendre qu'il en a rien a scouer de la prog ou de ce que fait son script, tout ce qu'il veut c'est que ça marche. Du coups vu que supermofo a eu la super idée de lui donner le script, maintenant c'est à vous de le lui debugger


Message édité par esox_ch le 19-07-2006 à 12:06:46

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 19-07-2006 à 13:02:54    

je décèle un soupçon d'ironie dans ta dernière idée...

Reply

Marsh Posté le 20-07-2006 à 10:57:16    

Bon les gars plutot que de me critiquer essayez de faire avancer les choses ou alors n'écrivez pas ça m'avancera à rien.
 
En effet je n'ai pas fait de recherche sur google bien que moi aussi habituellement je fais un copier coller du message d'erreur sur celui ci afin de trouver ma réponse.
 
Le code a bien été mis en début de script.
 
Encore un truc.  
Si je m'interesse pas beaucoup au fonctionnement du script c'est que c'est urgent qu'il soit en place. Habituellement je prends plus de temps à l'étudier mais là le temps m'est compté c'est juste pour ça.
 
Je ne vous demande pas non plus de "debugguer" le script qui m'a été donné, je pense pouvoir le faire, mais encore une fois, avec pa mal de temps.
 
Bon je vais voir mon ami google

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed