Support de smfgratuit

Réservé aux forums smf officiel => Archives des demandes d'aides => Discussion démarrée par: lance_yien le 14 Mars 2008 à 14:02:06



Titre: visiteurs indésirables
Posté par: lance_yien le 14 Mars 2008 à 14:02:06
bonjour MKC,
bonjour à tous,

en ouvrant une partie de section pour que les invités puissent inntervenir sur certains sujets ou en proposer des nouveaux,
j'ai eu la surprise dans le quart d'heure qui suit de trouver 2 pages pleines de liens vers des site pornos (je juppose un robot qui est passé par là :)).
j'ai pensé ajouter l'option "are you human" en plus de leur nom et email dans le fichier post.template.php
voici la partie concernant les invités:
Citation
// Guests have to put in their name and email...
   if (isset($context['name']) && isset($context['email']))
   {
      echo '
                     <tr>
                        <td align="right" style="font-weight: bold;', isset($context['post_error']['long_name']) || isset($context['post_error']['no_name']) || isset($context['post_error']['bad_name']) ? 'color: red;' : '', '" id="caption_guestname">
                           ', $txt[68], ':
                        </td>
                        <td>
                           <input type="text" name="guestname" size="25" value="', $context['name'], '" tabindex="', $context['tabindex']++, '" />
                        </td>
                     </tr>';

      if (empty($modSettings['guest_post_no_email']))
         echo '
                     <tr>
                        <td align="right" style="font-weight: bold;', isset($context['post_error']['no_email']) || isset($context['post_error']['bad_email']) ? 'color: red;' : '', '" id="caption_email">
                           ', $txt[69], ':
                        </td>
                        <td>
                           <input type="text" name="email" size="25" value="', $context['email'], '" tabindex="', $context['tabindex']++, '" />
                        </td>
                     </tr>';
   }

---------
et je récupère le # concernat are you human dans le fichier d'enregistremment que voici pour le rajouter à la suite (tout ou en partie)


   
Citation
if ($context['visual_verification'])
   {
      echo '
               <tr valign="top">
                  <td width="40%" align="top">
                     <b>', $txt['visual_verification_label'], ':</b>
                     <div class="smalltext">', $txt['visual_verification_description'], '</div>
                  </td>
                  <td>';
      if ($context['use_graphic_library'])
         echo '
                     <img src="', $context['verificiation_image_href'], '" alt="', $txt['visual_verification_description'], '" id="verificiation_image" /><br />';
      else
         echo '
                     <img src="', $context['verificiation_image_href'], ';letter=1" alt="', $txt['visual_verification_description'], '" id="verificiation_image_1" />
                     <img src="', $context['verificiation_image_href'], ';letter=2" alt="', $txt['visual_verification_description'], '" id="verificiation_image_2" />
                     <img src="', $context['verificiation_image_href'], ';letter=3" alt="', $txt['visual_verification_description'], '" id="verificiation_image_3" />
                     <img src="', $context['verificiation_image_href'], ';letter=4" alt="', $txt['visual_verification_description'], '" id="verificiation_image_4" />
                     <img src="', $context['verificiation_image_href'], ';letter=5" alt="', $txt['visual_verification_description'], '" id="verificiation_image_5" />';
      echo '
                     <input type="text" name="visual_verification_code" size="30" tabindex="', $context['tabindex']++, '" />
                     <div class="smalltext">
                        <a href="', $context['verificiation_image_href'], ';sound" onclick="return reqWin(this.href, 400, 120);">', $txt['visual_verification_sound'], '</a> | <a href="', $scripturl, '?action=register" onclick="refreshImages(); return false;">', $txt['visual_verification_request_new'], '</a>
                     </div>
                  </td>
               </tr>';
   }
--
est-ce une bonne idée?
et comment le modifier pour l'adater à l'action "post" au lieu de "register"?
Merci d'avance :)

PS: je comprends tes raisons pour bloquer la sélection avec la souris mais c'est embêtant  :D
je l'ai fait avec le clavier  :P

bon courage ;)


Titre: visiteurs indésirables
Posté par: Marc le 14 Mars 2008 à 15:34:08
Bonjour,
Hmmm, je vais lancer un scoop mais autant que tout le monde soit au courant, y'a un méchant bug dans la partie du code visuel de smf, en effet il lui arrive de générer des chiffres et ça marche mais alors pas bien du tout, mais bon je vais pas en dire plus sinon je vais me faire qualifier de hors la loi  ;D ;D ;D

Déjà ce qui m'étonne, c'est que logiquement l'invité qui poste doit fournir obligatoirement son email, c'est d'origine dans smf, donc j'ai pas compris ton rajout à ce niveau là??
Ce qui serait plus pertinent à mon sens, c'est peut être de vérifier le serveur de mail, parce que moi je te fais en générateur d'adresse mail en 10 lignes de php......

Pour le code visuel, c'est beaucoup plus étendu que ça: javascript+php+GD+xhtml ,là ton code n'indique que la partie xhtml  :-*

Personnellement je ne comprend même pas pourquoi cette fonction n'est pas d'origine dans smf, tout comme le masquage des adresses mail, je dois peut être devenir parano  8)

Ps: Je bloque quoi avec la souris?  <:)


Titre: visiteurs indésirables
Posté par: lance_yien le 14 Mars 2008 à 18:15:37
... Personnellement je ne comprend même pas pourquoi cette fonction n'est pas d'origine dans smf, tout comme le masquage des adresses mail...
je me suis posé la question aussi surtout es adresses email?????????

Citation
Ps: Je bloque quoi avec la souris? 
c'était la sélection d'une partie de texte avec la souris (beaucoup le font pour empêcher la copie)
mais apparemment là il n'y a plus de problème. donc fausse alerte
--
c'est peut être des bêtises que je racontais.
l'obligation de donner son et son email existe bien puis j'ai copié le paragraphe de code et mon fameeux invité a rempli les case:
(http://lanceyien-info.com/illustrations/invite1.jpg)
et voici ses coordonnées: sdcvfgy@mail.ru IP: 221.208.12.2 (?)
je me suis dit que si un robot peut remplir ces 2 cases il pourra pas aller plus loin si on lui en rajoute une 3 consistant à lire dans un image
ET bien sûr je ne sais pas comment faire le code pour ça
mon 2eme paragraphe n'est qu'une copie de celui pour s'enregistrer puisqu'il est obligatoire de remplire la case.
ma question est-ce qu'on peut l'adapter? ou faire autre chose dans le mm but: augmenter la difficulté.
j'espère que j'étais assez clair  :)
a+ ;)


Titre: visiteurs indésirables
Posté par: Marc le 14 Mars 2008 à 18:51:10
Allez j'en lâche une seconde, vous savez que dans smf 2.0, les développeurs sont tellement bon qu'ils n'ont en faite fait que copier du code provenant de php-nuke, par exemple la souscription par paypal  :-*
C'est d'ailleurs pour cette raison que le code qui n'utilisait aucune classe commence à devenir vraiment illisible à partir de la branche 2  ;D

Dans smf 2.0 ces options sont inclus, heu en faite ils se sont contenté de mettre 2 mods qui le font pour la version 1.1.4

Pour répondre à ta question, tu peux mettre autant de champ que tu veux, cela ne résoudra pas le problème, seul la génération d'image pour le postage invité et/ou l'obligation d'être membre règle le problème.

La génération d'image est la seule solution de bloquer ce genre de pratique. Il existe le mod captcha qui offre pas mal d'option supplémentaire si je me trompe pas  :-*


Titre: visiteurs indésirables
Posté par: lance_yien le 14 Mars 2008 à 19:20:17
... je vais me faire qualifier de hors la loi  ;D ;D ;D
te voila prévenu :)
--
je lance une recherche j'essaie et te tiens au courant.
j'espère qu'il y a une trad :)
a+


Titre: visiteurs indésirables
Posté par: lance_yien le 15 Mars 2008 à 11:15:08
bonjour à tous,
voici les nouvelles:
captecha, recaptecha ne fonctionnent pas avec smf1.1.4 (du moins ce que j'ai essayé)
et surtout ils ne rajoutent rien à la fonction "post" (hé oui j'ai bidouiller pour pouvoir les installer)
MAIS "advenced visual": http://custom.simplemachines.org/mods/index.php?mod=474
rajoute bien la fonction de vérif dans les posts et voici ce qu'un invité doit trouver:  http://lanceyien-info.com/illustrations/invite2.jpg
malheureusement lui aussi (à l'origine) est pour smf1.1 et il a fallu que je l'adapte à mon cas :)
j'espère qu'on a le droit (?)
a+ ;)


Titre: visiteurs indésirables
Posté par: Marc le 15 Mars 2008 à 12:01:24
Bonjour,

La forme de l'image est typiquement ce que l'on trouve sur phpbb  ;D , smf va peut etre s'associer avec phpbb qui sait, y'a déjà du code phpnuke et phpbb dans les mods (sous licence GPL)  :-*
Tu as le droit de faire les modifs pour toi, du moment que tu ne diffuses pas, d'ailleurs pour ceux qui auraient lu la licence, le faite d'écrire un bout de code et de le publier sur un site autre que l'officiel est interdit, et oui, smf s'approprie tout le code php de la terre  ;D .
smf 1.1 et 1.1.4 sont relativement très proche, les modifications sont minimes  :-*


Titre: visiteurs indésirables
Posté par: lance_yien le 15 Mars 2008 à 12:42:55
... Tu as le droit de faire les modifs pour toi, du moment que tu ne diffuses pas, d'ailleurs pour ceux qui auraient lu la licence, le faite d'écrire un bout de code et de le publier sur un site autre que l'officiel est interdit, et oui, smf s'approprie tout le code php de la terre  ;D .
Merci pour l'info. je voulais une confirmation

Citation
smf 1.1 et 1.1.4 sont relativement très proche, les modifications sont minimes  :-*
c'est vrai puisque j'ai réussi à la faire moi-même  :)
au fait j'ai supprimé toute les modifs pour la fonction "registrer"
et en plus c'est la nouvelle image qui apparaît dans la page d'enregistrement, pas besoin de trad... c'est plus que je demandais
donc j'ai réouvert ma section aux invités et on verra à l'usage
 merci MKC et a+ ;)