|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Bonsoir à tous
Bon je sais c'est une question déjà posée mainte et mainte fois. Mais les recherches sur google renvoient des solutions toutes différentes des unes des autres et j'ai du mal à voir ce qu'il me conviendrait le mieux, ce qui n'est pas bon.. Alors je vous explique premièrement la structure du site. J'ai un index.php avec un session_start(); Il include (je simplifie) /pages/$_GET['pg'].php. Dans certaines pages, mes éléments ne fonctionnent qu'en javascript. Le problème c'est que j'aimerais que le site soit entièrement fonctionnel même si javascript est désactivé. Par exemple, je prend la page pour créer un nouveau compte. Il y a un formulaire, avec un captcha. Ce captcha est en jquery. Il s'inscrit: <div id="captcha"></div>. J'aimerais ajouter pour cette page un if($_SESION['javascript']=="disabled") par exemple, on n'affiche pas ce div captcha, mais un <img src="captcha.php"> avec un input text, afin de permettre à l'utilisateur sans js de rentrer un captcha et de valider ce formulaire. Je ne sais pas si j'ai été très clair. Alors j'ai essayé un simple <noscript><?php $_SESSION['javascript'] = "disabled"; ?></noscript> mais ça définit la variable, que js soit activé ou pas. Je poste sur ce forum car je pense que la solution est en javascript directement. N'hésitez pas à me demander si quelque chose est flou. Je vous remercie par avance =) |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 424 ![]() |
cela ne peut se faire qu'avec un échange entre le client et le serveur
le client demande une page le serveur ne sais pas si le client possède javascript il lui renvoie un page contenant un bout de js qui créé un cookie et fait une redirection (expire) du coup le client invoque la nouvelle page (par redirection ou clic) dans celle-ci tu peut lire les entêtes de la requête et si le cookie est présent il n'a put être mis que par le js c'est donc que le client à javascript tu ne peux pas sur le serveur lire ce qu'il a sur le poste du client tu ne peut que le lui demander (le coup du cookie est une façon de le demander) le serveur ne peut recevoir que les informations que lui envoie le navigateur et le support de javascript n'est pas une info que le navigateur envoie spontanément au passage Citation:
particulièrement si le contenu est un script php (s'il contient des définition ça l'est moins) A+JYT |
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Bonjour seikaiijin
Je sais tout ça, ce que j'aimerais savoir c'est quel méthode utiliser. Pour les cookies, l'utilisateur peut les désactiver. Il me semble que ne soit pas une bonne solution. Pour l'include, j'ai bien préciser que je simplifiais. Ce serais inutile de coller le code php de l'include alors que c'est pas le sujet, c'était juste pour préciser que index.php contient une autre page. |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Perso je pense que si tu veux un Captcha accessible sans Javascript, il est inutile d'en incorporer un suplémentaire en JQuery. Il vaudrait mieux se concentrer sur la création (ou recherche) d'un Captcha en "dur" qui contribue à se protéger contre le maximum de robots spammeurs qui visitent les pages sans JS. Mantenant, si je ne voudrais pas me séparer de la "version Javascript" du Captcha, je ferais un truc du genre... Code xhtml :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 872 ![]() |
[troll=on]
sérieux, à part les robots et les 2 geeks au fond d'un bois qui utilisent un navigateur en ascii sous linux dont j'ai oublié le nom (et ceux qui ont désactiver le script sur une page bien spécifique pour trouver des failles) il y a 0% des "vrais" visiteurs qui n'ont pas javascript d'activé. [/troll=off] |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Salut Eric2a
Mon captcha en dur est suffisant. Surtout que sur ce site il n'y aucun endroit ou des robots pourraient spammer.Tout le jquery qu'il y a sur le site, et pour e captcha, c'est pour rendre plus agréable l'apparence et la navigation. Donc oui j'y tiens, j'aurais très bien pu faire tout en php. C'est un + que je lui ai offert et que je lui laisserais. Honnetement je suis pas fan de ta solution, je me vois mal supprimer des élements html sur toutes les pages ou il y a du javascript. En fait il n'y a pas une page sans.. Faire ça sur chacune des pages serait barbare. Willpower j'aimerais me dire comme toi, d'ailleurs j'étais parti comme ça au départ, mais les concurrents l'ont fait, alors je veux le faire aussi =P Toutes les données sont revérifiées en php derrière, donc pour ceux "qui ont désactiver le script sur une page bien spécifique pour trouver des failles", c'est peine perdue. N'y a t il réellement aucune solution possible et qui tient la route sans être bourrin ? |
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 424 ![]() |
Citation:
tu mets un js qui ajoute une image invisible de un pix dans la page l'url de cette image étant un script php ce script lorsqu'il est activé ajoute une info dans la sessions comme c'est un script js qui place l'image dans la page l'appel au script de l'image ne peut avoir été appelé que si le client à javascript il suffit donc de mettre cette info en session dans les autres pages il suffit de vérifier la présence du js dans la sesssion A+JYT |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com