classe antispam en php

ViPHP
ViPHP | 4674 Messages

02 févr. 2007, 14:53

Bonjour :)

je vais continuer à vous embêter :D hehe !

Si je veux afficher l'adresse en tant que texte de lien, comment faire pour que les robots ne la prennent pas ?
On pourrait tout encoder en caractères ASCII, mais il me semble que les robots comprennent ça maintenant.
Ou alors on remplace l'arobase par "chez" ou "_AT_", ou autre, peu importe.

Qu'est-ce qui vous semble la meilleure solution ? (je n'ai énoncé que des exemples, rien ne vous empêche d'y apporter vos idées :))

Merci
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 3607 Messages

02 févr. 2007, 15:59

de toute façon je ne vois pas pourquoi tu t'enquiquine à vouloir mettre le mail en tant que texte du lien...
Si tu as besoin de ce mail, c'est bien pour envoyer un mail au destinataire, non? donc tu clique sur le liens qui dit
Pour envoyer un mail cliquez içi
et pof ça ouvre ton thunderbird/outlook/... et t'écrit ton mail qu'est-ce qui te gène là dedans ?
Au pire, si tu tiens absolument à ce que le mail soit visible directement sur la page et uniquement avec les yeux, une image dynamique fera l'affaire...
Je vais y réfléchir...

ViPHP
ViPHP | 4674 Messages

02 févr. 2007, 16:01

lol jsuis chiant hein ;-)

Une image n'est pas suffisament accessible je trouve. (on peut la rendre accessible, mais le robot pourra s'emparer de l'adresse).

Non je pense faire comme énoncé dans mon message précédent :)

Merci
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 991 Messages

26 févr. 2007, 22:12

Je m'incruste un peu mais si je peu vous apporter mes connaissances ...

Bon alors si on envoi l'adresse crypter sous md5 puis l'image va l'afficher en le dechiffrant ainsi l'adresse n'apparait uniquement sur les variable or les robot ne savent pas recupere les variables enfin je crois qu'en pensez vous ?
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 3607 Messages

27 févr. 2007, 11:43

un hash md5 est inenvisageable, puisque qu'il est par définition indécryptable... aussi bien par les robots .... que par nous!
Donc inutilisable :wink:

Mammouth du PHP | 991 Messages

27 févr. 2007, 12:58

je suis absolument sur d'avoir une fonction permettant de décrypter une md5 ... je recherche et je vous tient au jus

thehawk
DevOps, Symfony4, Hoa

Mammouth du PHP | 991 Messages

27 févr. 2007, 13:06

EUREKA me*** je crois qu'un boutonneux a lunette l'avais sorti avant moi

Bon voila en fouinant un peu je viens de retrouver la fonction dont je vous parler je l'ai tester et ca marche qu'en pensez vous ?

thehawk

A oups j'allais oubliér voici le code :
function GenerationCle($Texte,$CleDEncryptage)
  {
  $CleDEncryptage = md5($CleDEncryptage);
  $Compteur=0;
  $VariableTemp = "";
  for ($Ctr=0;$Ctr<strlen($Texte);$Ctr++)
    {
    if ($Compteur==strlen($CleDEncryptage))
      $Compteur=0;
    $VariableTemp.= substr($Texte,$Ctr,1) ^ substr($CleDEncryptage,$Compteur,1);
    $Compteur++;
    }
  return $VariableTemp;
  }

function Crypte($Texte,$Cle)
  {
  srand((double)microtime()*1000000);
  $CleDEncryptage = md5(rand(0,32000) );
  $Compteur=0;
  $VariableTemp = "";
  for ($Ctr=0;$Ctr<strlen($Texte);$Ctr++)
    {
    if ($Compteur==strlen($CleDEncryptage))
      $Compteur=0;
    $VariableTemp.= substr($CleDEncryptage,$Compteur,1).(substr($Texte,$Ctr,1) ^ substr($CleDEncryptage,$Compteur,1) );
    $Compteur++;
    }
  return base64_encode(GenerationCle($VariableTemp,$Cle) );
  }

function Decrypte($Texte,$Cle)
  {
  $Texte = GenerationCle(base64_decode($Texte),$Cle);
  $VariableTemp = "";
  for ($Ctr=0;$Ctr<strlen($Texte);$Ctr++)
    {
    $md5 = substr($Texte,$Ctr,1);
    $Ctr++;
    $VariableTemp.= (substr($Texte,$Ctr,1) ^ $md5);
    }
  return $VariableTemp;
  }
//Exemple de l'appel aux fonctions Crypte et Decrypte :

$Cle = "MotDePasseSuperSecret";
$MonTexte = "Mon numéro de carte de crédit est le 445.32.443.12";
$TexteCrypte = Crypte($MonTexte,$Cle);
$TexteClair = Decrypte($TexteCrypte,$Cle);
echo "Texte original : $MonTexte <Br>";
echo "Texte crypté : $TexteCrypte <Br>";
echo "Texte décrypté : $TexteClair <Br>";
Bon ce n'est pas de moi d'accord mais je la trouve pas mal ...

En esperant avoir un peu contribuer a ton projet jojo ...
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 3607 Messages

27 févr. 2007, 13:15

ce n'est pas tout à fait le décryptage d'un hash md5...
On se sert en effet de md5 pour crypter la clé, mais pas le message ;-)
C'est vrai que c'est un bon cryptage... mais bon c'est peut-être un peu de la parano d'utiliser ça pour simplement cacher une adresse à des robots...
car les robots cherche la simplicité, pour récupérer les plus d'adresse possible!!!
Déja avec ma classe (qui dort un peu je l'avoue), il n'y a pas de mailto... ni de @ (ou alors mal placé et ne correspondant pas...) donc le robots va même pas chercher à trouvé une adresse là dedans... ensuite même si il souhaitait le faire... il y arriverait surement (avec un simple cryptage de césar c'est pas très dur) mais ce serait beaucoup trop lent par rapport à sa politique de récupération en masse....

Mammouth du PHP | 991 Messages

27 févr. 2007, 13:23

c'est faux ... comme dirait mon prof , il y a de la verite dedans ...

Mais bon j'ai apporter cela uniquement pour auguementer la securité
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 3607 Messages

27 févr. 2007, 13:35

C'est juste !! :langue:
Je te remercie de ta contribution ;-)
C'est juste que ça me semble être un peu trop balaise pour mon application...

ViPHP
ViPHP | 4674 Messages

27 févr. 2007, 14:34

Bonjour :)

Qu'on se le dise : un hash md5 est indescriptible d'accord !
Que vous ayez une chaine de caractère de 1 octet ou de 1000 Mo, vous aurez toujours une chaine md5 de la même longueur.
Le seul moyen qu'on ai pour décrypter un md5 est par comparaison de chaîne. Long, demande des ressources etc.

Sinon, le simple fait que jojolapine génère un cryptage avec une clé aléatoire est largement suffisant.
Si l'intervalle de choix pour la fonction rand(); est compris de 100 à 999, une machine va mettre un bon bout de temps pour trouver la chaîne décrypter, sachant qu'il faudrait analyser à chaque fois la chaine obtenue, et qu'il faudrait aussi connaître l'emplacement de la clé dans le hash, et aussi connaître l'intervalle.
Après, avec un bruteforcing, on pourrait y arriver.
-> bonne chance au robot :) (prenons en compte ce que jojolapine a dit, à savoir qu'un robot spam ne pert pas de temps, il prend ce qui est évident et immédiat).

Il existe quantité de fonctions de cryptage, surtout symétrique (crypt <--> uncrypt). Après c'est juste une question de choix.

Merci pour ta contribution :)
Faut pas prendre mon bla bla sur le md5 pour toi, c'est juste que j'en ai marre qu'on dise : j'ai cracké un md5 ! (yepee) Juste histoire de remettre quelques moeurs en place :)


Bonne journée :) (et c'est vrai jojolapine que ta classe s'endort ;-))
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 3607 Messages

27 févr. 2007, 14:50

(et c'est vrai jojolapine que ta classe s'endort ;-))
Mais euh faut pas m'en vouloir... je suis en pèriode de partiels :cry:

ViPHP
ViPHP | 4674 Messages

27 févr. 2007, 14:53

Hehe moi j'ai fini ^^

Bonne chance, je connais bien ça :P
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).