Flashantiflood sans gd (basique)

Soyez le premier à donner votre avis sur cette source.

Vue 4 910 fois - Téléchargée 350 fois

Description

Je reviens encore avec l'idée de protéger le petit marcel qui joue toujours dans la marre :D (pour savoir de qui il s'ajit vous devez jeter un coup d'oeil sur la source que j'ai posté il y a un bout de temps ici http://www.phpcs.com/codes/ANTI-FLOOD-SANS-LIBRAIRIE-GD_33290.aspx et tous les commentaires très constructifs! Merci aux auteurs!).
Donc l'idée encore là est de remplacer un "peu" la librairie GD (bien sûr pour les sites comme celui du petit marcel ;-) ).
J'utilise donc là une partie flash pour générer le code, l'afficher avec une petite animation (très basique pour compliquer la tâche au robots malins) et l'envoyer à une page php qui va le crypter (avec md5.. le hasher plutôt) et le sauvgarde dans une variable de session $_SESSION['VRAICODE'].
Après, après saisie du code par l'utilisateur, la page verfie donc si c'est le bon code ou pas.

Source / Exemple :


/////////////////////////
//Page "verif.php" :s y a pas grand chose...
/////////////////////////
<?php
session_start();
error_reporting(E_ALL);
if (isset($_POST['verif']))
{
	$codeSaisi = md5($_POST['verif']);
	$vraiCode = $_SESSION['VRAICODE'];
	if ($codeSaisi === $vraiCode)
	{
		echo 'C\'est le bon code!!';
	}
	else
	{
		echo 'Code invalide!!!';
	}
}
elseif (isset($_POST['varCode']))
{
	$_SESSION['VRAICODE'] = md5($_POST['varCode']);
}
?>

/////////////////////
// Là c'est le bout de code flash qui génère le code aléatoire pas grand chose aussi :s
////////////////////////////////

onLoad ()
{
    var code;
    var caracteres = new Array("0","1","2","3","4","5","6","7","8","9",
        "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
        "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
    for (i = 0; i < 8; i++)
    {
        c = caracteres[Math.floor(Math.random()*caracteres.length)];
        code = code + c;
    }
    varCode = code;
    loadVariables("verif.php",'POST');
}

Conclusion :


Comme vous avez pu constater y a pas vraiment grand chose, c'est assez basique (très basique) mais ça peut donner des idées pour améliorer le code surtout dans la partie flash. A titre d'exemple, on peut bien générer des trucs, des questions, des images qui demande d'utiliser un peu l'inteligence, comme ce qu'on m'a proposé dans la source précédente (http://www.phpcs.com/codes/ANTI-FLOOD-SANS-LIBRAIRIE-GD_33290.aspx).
Peut être si j'aurai du temps j'essayerai de le faire mais d'abord à vos critiques et commentaires constructifs surtout!
Merci d'avance.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
126
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
9 novembre 2009
2
Non, en effet, vous avez raison puisque le code de vérification est généré aléatoirement à chaque fois, cela ne me donne pas pour autant sa valeur en décompilant le swf (je viens d'ailleurs de vérifier avec Sothink SWF Decompiler).

Merci pour vos précisions.
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Même si le bot tombe sur un phpinfo() sur le même serveur je doute qu'il réussisse à retrouver le bon index de sessions en tout cas pas pour un bot généraliste qui ne cible pas un site en particulier... quand à l'idée de la table je trouve que ça n'est pas viable... ou alors pour un site très peu fréquenté et dans ce cas c'est comme mettre une porte blindé avec digicode à son cabanon au fon du jardin... .. .

@ tchaOo°
Messages postés
449
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
5 mars 2009

Je vais repondre a ta question part une autre :
le fait de decompiler un programme permet d'en analyser le contenu (sous different language mais plus particulierement sous asm). Mettons qu'un bot puisse decompiler le code en php ou action script (plus qu'illusoire), est-ce que toi avec le code source sous les yeux, tu arrives a prevoir le contenu ? Pas que je sache... Et le code ne fait que "lire" une variable, il n'est pas compile avec ;-)
Le seul danger (car il y en a un), c'est que le bot parvienne a sniffer sa propre session, ce qui pourrait evidement compromettre la securite du code. Mais ce genre d'attaque n'est possible que sur des sites heberge ou les configurations de php sont tres basiques... il faudrait qu'il puisse avoir une page heberge sur le meme serveur, avec le meme interpreteur php pour les 2 pages, ou alors que les fichiers temporaires soient accessibles en lecture a tout le monde (toujours dans le cas du meme hebergement). Il faut beaucoup de params pour realiser ce genre d'attaque mais c'est vrai que le risque existe.
L'utilisation d'une table peut permettre effectivement de limiter la "casse" mais il faudrait revoir a ce moment la le code et si le site est pas mal frequente, il faudra prendre en compte que 2 requetes (insertion, selection), meme si sa prend pas grand choses, restent 2 requetes de plus alors que les sessions ont l'avantage de ne faire entrer en jeux que des fichiers temporaires. Questions de gout j'imagine...
Messages postés
126
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
9 novembre 2009
2
Salut, excellente initiative !

Commentaire de : Sannazzarotiti le 09/09/2006 12:31:42 Au fait j'ai toujours pas ma reponsse, il se passe quoi si on ne possede pas flash ? un boot sans flash poura t'il spammer ou non?

J'ai juste une question en lisant la tienne : que se pase-t-il si j'utilise flash decompiler ou un autre programme du genre? Ne vaudrait-il pas mieux intégrer une connexion à une DB et créer une table temporaire ?
Messages postés
228
Date d'inscription
jeudi 1 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2009

ok merci, c'est parfait sa ^^

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.