
Il y a maintenant quelque mois, j’avais développé un outil en PHP permettant de soumettre à peu près n’importe quel type de formulaires. Mais par faute de temps (mon école me demande énormément de boulot), j’ai abandonné ce projet mais si je me souviens bien, l’outil était pratiquement terminé. Bon ok, mon titre est un […]
Il y a maintenant quelque mois, j’avais développé un outil en PHP permettant de soumettre à peu près n’importe quel type de formulaires. Mais par faute de temps (mon école me demande énormément de boulot), j’ai abandonné ce projet mais si je me souviens bien, l’outil était pratiquement terminé.
Bon ok, mon titre est un peu trop vendeur. Mon script ne vaut en rien Sick (magnifique outil au passage) et nécessitera quelques modifications.
Fonctionnalités
En gros, voici ce qu’il permet de faire :
– Classe qui permet de checker les proxies contenu dans un fichier (si proxy erroné -> supprimé du fichier) avec possibilité de définir une intervalle de temps (dans le cas où vous avez de nombreux proxies) :
1 2 |
/* Check proxies not verified since more than 24H */ defined('TIME_FOR_PROXY') || define('TIME_FOR_PROXY', time() - 30 * 24 * 60 * 60); |
– Fichiers de logs (formulaire soumis ou erreur) :
1 |
defined('LOGS_POST') || define('LOGS_POST', true); |
Soumission de formulaire
1) Dans le fichier de config, vous entrer vos informations :
1 2 3 4 5 6 7 8 9 10 11 12 |
defined('DATA') || define('DATA', serialize( array( 'login' => 'admin', 'password' => 'admin', 'loc' => 'en_US', 'submit' => 'Inscription', 'name' => 'Bieber', 'prenom' => 'Justin', 'telephone' => '0836696969', 'email' => 'justin.bieber@gmail.com', ) )); |
2) Dans un fichier à part (postData.txt), vous entrez les alternatives d’input à utiliser :
« tel => telephone
email => mail
email => Email »
Ainsi, si dans le formulaire, le champ email ne marche pas, le script testera avec ‘mail’ (justin.bieber@gmail.com), puis ‘Email’ si ça ne fonctionne toujours pas.
– La possibilité d’indiquer vos formats pour les inputs et les formulaires :
1 2 3 4 5 6 7 8 9 10 11 |
defined('FORM_REGEXP') || define('FORM_REGEXP', serialize(array( '<form.*action="(.*)".*>.*', '<FORM.*action="(.*)".*>.*', )) ); defined('INPUT_REGEXP') || define('INPUT_REGEXP', serialize(array( '<input.*name="(.*)".*value="(.*)".*\/>.*', '<INPUT.*name="(.*)".*\/>*', )) ); |
– Différentes options facilement configurables :
1 2 3 4 5 6 7 8 9 10 |
defined('USE_COOKIES') || define('USE_COOKIES', false); defined('USE_PROXY') || define('USE_PROXY', false); defined('FOLLOW_LOCATION') || define('FOLLOW_LOCATION', true); defined('TIMEOUT') || define('TIMEOUT', 10); defined('TIMEOUT_GET_CONTENT') || define('TIMEOUT_GET_CONTENT', 10); defined('TIMEOUT_CHECK_PROXIES') || define('TIMEOUT_CHECK_PROXIES', 10); defined('LOGS_PROXIES') || define('LOGS_PROXY', true); defined('LOGS_POST') || define('LOGS_POST', true); defined('DELETE_OLD_ENTRIES_IN_LOGS_FOR_PROXY') || define('DELETE_OLD_ENTRIES_IN_LOGS_FOR_PROXY', true); defined('DELETE_OLD_ENTRIES_IN_LOGS_FOR_POST') || define('DELETE_OLD_ENTRIES_IN_LOGS_FOR_POST', true); |
Honnêtement, je pense peut être intéressant pour ceux qui ne possèdent pas Sick Submitter. Par contre, il vous faudra bien maîtriser le PHP pour remettre les mains dans le camboui
Téléchargement du script
Comme d’habitude, pour obtenir le script, un petit message dans le formulaire de contact fera l’affaire
2 Responses
Pas mal, mais arrête d’utiliser les regex, utilise la célèbrissime classe simple html dom, ou mieux : xpath.
Ca va te prendre 1h d’apprentissage et tu vas gagner un temps énorme lors de tes créations de scripts.
Ouaip, j’ai découvert ça il y a peu de temps (xpath) et en effet, c’est super simple et hyper efficace (j’ai abandonné les regexp depuis mais j’avais développé ce script avant ^^).
Mais merci en tout cas