begin process at 2012 05 31 03:26:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Limiter l'utilisation d'un script


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Limiter l'utilisation d'un script

mardi 22 juin 2010 à 10:55:54 | Limiter l'utilisation d'un script

arbilus

Bonjours ! Alors voila, j'ai un problème car j'aimerais faire en sorte de limiter la fréquence d'utilisation d'un script php grace à l'ip de l'utilisateur.

Style: la personne a utilisé le script, elle ne peut l'utiliser de nouveau que 10 min plutard, et si elle l'utilise avant et bien elle est redirigée.

Je me doute qu'il faut utiliser la BDD, mais je vois pas du tout comment je peux faire au nouveau du script et de la BDD.

Je pense que ça serait un truc du style:

-> le type réutilise/utilise le script -> select dans la BDD où user_ip = $ip -> si l'interval est de moins de 10min alors redirection et si pas user_ip = $ip OU intervale superieur à 10min alors inscription dans de son $ip + de heu.. "l'indicateur de temps" dans la BDD puis utilisation du script autorisé.
mardi 22 juin 2010 à 13:13:01 | Re : Limiter l'utilisation d'un script

shilom54

Tu peux mettre un champ dans la BBD au niveau de l'user ou si il est égal a zéro alors il peut réutilisé le script sinon il ne peut pas bien sur il faut que tu vérifie l'intervalle de temps et l'IP si c'est au niveau code que tu block poste ton code et on verra ce qu'on peut faire
mardi 22 juin 2010 à 14:01:58 | Re : Limiter l'utilisation d'un script

arbilus

J'ai trouvé le script qu'il me faut, le voici:

Code PHP :
$host="localhost"; // Host name
$username="xxxxxx"; // Mysql username
$password="xxxxx"; // Mysql password
$db_name="xxxxx"; // Database name

mysql_connect("$host", "$username", "$password" )or die("cannot connect to server" );
mysql_select_db("$db_name" )or die("cannot select DB" );


$time_flood = '30'; // 30 secondes

// COMMENT PROCEDER ??


$time_flood = '30'; // 30 secondes

// 1° d'abord commencer par supprimer tout ceux dont le temps a expirer
mysql_query("DELETE FROM flood WHERE dernier + $time_flood < " . time());

// 2° ensuite prenez l'ip du visiteur
$resultat = mysql_query(
"SELECT dernier FROM flood WHERE ip='$_SERVER[REMOTE_ADDR]'");

// 3° Si l'Ip du visiteur est deja dans la table, ai !!
if(mysql_num_rows($resultat) > 0)
    echo 'Vous devez attendre !';

   
// 4° sinon tout va bien, reste plus qu'a inserer l'ip de votre visiteur dans la
// table
   else mysql_query("INSERT INTO flood VALUES ('$_SERVER[REMOTE_ADDR]', '" . 
time() . "')");

//DEBUT DE MON SCRIPT SI APRES VERIF --------------------------------------

function mdpAleatoire($longueur=5)
{
$mdp = '';
// liste des caractères pour créer le mot de passe
$caracteres = 'NBVCXWQSDFGHJKLMPOIUYTREZA1234567890';
// longueur de la chaine
$nombre_caractr 

//etc..//


Seulement il y a un problème: quand le type lance le script 2 fois en moins de 30 secondes le message "Vous devez attendre!" s'affiche bien, mais le script en dessous (mon script) s'execute quand même. Je ne sais pas comment je pourrais faire pour "l'inclure" dans les "conséquence" de if.
mardi 22 juin 2010 à 14:34:48 | Re : Limiter l'utilisation d'un script

arbilus

else
{
mysql_query("INSERT INTO flood VALUES ('$_SERVER[REMOTE_ADDR]', '" .time() . "')" );
//ton script ici
}

-> problème réglé
mardi 22 juin 2010 à 15:51:55 | Re : Limiter l'utilisation d'un script

kohntark

Membre Club
Salut,

A noter tout de même :
Oublie cette solution si la limitation à 10 minutes est réellement importante, parce qu'il est très simple de l'outrepasser.

La seule solution "fiable" étant l'authentification par login / pass


Cordialement,


Kohntark -

mardi 22 juin 2010 à 16:36:10 | Re : Limiter l'utilisation d'un script

arbilus

Non, c'est pas 10 min, c'est 30 sec. Mais c'est histoire d'éviter les floods. Seulement il y a toujours les proxy.. C'est pour ça que je me penche sur les cookies actuellement qui sont peu être plus efficace.
mardi 22 juin 2010 à 17:05:48 | Re : Limiter l'utilisation d'un script

kohntark

Membre Club

Tu parlais pourtant de 10 minutes dans ton premier message ... peut importe de toute façon, ça ne change rien à la donne.

Comme souvent il faut pondérer les choses et ajuster en conséquence :
- quels sont les risques ?
- quelle est la probabilité qu'ils soient exploités ?
- etc ... etc ...

Inutile de sur sécuriser un truc qui n'aura aucune conséquence (ou "négligeable") ou qui n'intéressera même pas le plus blaireau des pseudo pirates.

Ca parait con à dire, mais on voit trop souvent ce genre de situation, qui au final n'apporte que lenteur à la navigation, consommation excessive de bande passante, etc ...

Peux tu en dire plus sur ce que tu cherches à protéger du flood ? (on voit un début de génération de pass, mais après ?)

C'est pour ça que je me penche sur les cookies actuellement qui sont peu être plus efficace.


Cookies == côté utilisateur == non fiable (bien moins que se baser sur l'IP)


Cordialement,

Kohntark -

mardi 22 juin 2010 à 17:27:42 | Re : Limiter l'utilisation d'un script

arbilus

C'est pas une génération de pass, c'est un génération de nom de fichier. Donc le but c'est de générer un fichier (en fonction des données qu'il a inséré dans le formulaire).

C'est pour ça que je doit protégé ce script. Imagine: le type utilise un proxy et trouve le moyen d'automatiser le lancement du script : il peut très bien me remplir mon site jusqu'à ce qu'il sature.
mardi 22 juin 2010 à 17:29:03 | Re : Limiter l'utilisation d'un script

arbilus

ça ressemble à une génération de pass car le script qui fait ça ne vient pas de moi (comme la majorité des scripts :D) .


Cette discussion est classée dans : script, bdd, utilisation, limiter, ip


Répondre à ce message

Sujets en rapport avec ce message

Affichage miniatures avec bdd [ par redjay ] Bonjour,Voilà, j'aimerais créer un script affichant des images dans un tableau (jusque là pas de problème, c'est après que ça se corse...) et que je p connection mysql par script [ par boin ] Imaginons que je veuille acceder a une base mysql par un script php pour y faire des tas de modifs si ça me chante.Donc j'ai un Host pour acceder a ph Importation BDD MySQL [ par Thienou ] Bonjour à tous,J'aimerais savoir comment importer une base de donnée enregistrée en .sql par un script php (donc pas de phpMyAdmin)Je n'ai pas trouvé Upload et adresse IP via dyndns... [ par PatDeLaYaute ] Salut a tous,je suis novice en PHP, pour le moment j'arrive a me débrouiller, mais avant de commencer le gros de mon script j'aimerais connaitre deux Script d'importation automatique de CSV vers BDD [ par jeinny ] Bonjour à tous! Je vous explique ma situation : je dois récupérer des données excel qui sont au format csv, et les intégrer dans une BDD mysql. Le pro recherche dans MySQL de l'ip en fonction de la date [ par Brikse ] Bonjour à tous,Je voudrais savoir si quelqu'un à une idée sur un script que j'ai récupéré et que je veux un peu modifier.Alors c'est un compteur avec Ouverture canal cam avec ip [ par eva4 ] Bonjour et heureuse de vous retrouver ici [^^happy13]. Alors j'aurais besoin de vos lumière, voici un petit script que j'ai choppé (je sais c mal mai Script administration table unique bdd SQL [ par allopizza ] Bonjour, je suis à la recherche d'un script opérationnel en php5, me permettant, ce façon très simple : 1) d'ouvrir ma base 2) d'éditer une table pré SCRIPT [ par eva4 ] Bonjour tout le monde Je voudrais réaliser un petit script qui je pense peu etre assé simple mais va au delà de ma petite tête et ses compétences [^^ SCRIPT ACCES CAMERA [ par eva4 ] Bonjour à tous, Vous l'aurez en parti devinné, ma question est dans la sujet. Je dispose d'une caméra de vidéo surveillance installée derriere une b


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales