regex

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : regex

Re: regex

par xkukat » 05 févr. 2012, 08:28

Merci,
J'arrive à faire à partir de la fonction 'function parseCode($content)' quelque chose qui me convient.
Cordialement.

Re: regex

par xkukat » 31 janv. 2012, 15:42

Merci
Je suis très loin de mon ordinateur,
et je serais de retour samedi.
je vous tiens au courant.

Re: regex

par Fre3z69 » 31 janv. 2012, 13:56

Waou j'y crois pas ^^

J'ai essayer de faire une regex permettant de remplacer tes $variables par les $_POST ['variables']

Ça ma l'air de fonctionner.

Essaye ce script dans un test.php, ensuite met la fonction devant ta variable, ça devrais la mettre en $_POST
<?php
function parseCode($content) {
	// Parsage des balises
$content = preg_replace('`^\$([[:print:]_-]{1,})$`isU', '$_POST[\'$1\']', $content);
return $content;
}

$testons = '$testons';
$testons = parseCode($testons);
echo $testons;

echo '<br />';
if (!empty($_POST)) {
echo ' ok, on passe<br />';
echo ' Tout fonctionne pour la variale transformé?<br />';

	if (!empty($testons))
	{
		echo 'en var : YEP';
	}
	if (empty($testons))
	{
		echo 'en var : NOP';
	}
	if (!empty($_POST['testons']))
	{
		echo 'en post : YEP';
	}
	if (empty($_POST['testons']))
	{
		echo 'en post : NOP';
	}

}
else {echo ' non, ça fonctionne pas';}
?>
<fieldset>
<p>Pour tester le passage des variables:</p>
<form action="index.php" method="post">
<input type="text" name="test" value="test">
<input type="submit" name="envoie" value="envoie">
<form>
</fieldset>
Pour implémenter ton script, chaque variables dont tu as besoin de récupérer leur valeurs, passent les en valeurs en fessant: (ça fonctionne pas de tester les $variables transformées directement en $_POST, faut les tester en $variable)

Code : Tout sélectionner

$var = '$valeurvar'; ou $valeurvar='$valeurvar';
*** D'après mes testes, tu devrais pas avoir besoin d'appeler un $_POST['var'] mais directement $var, alors attention à nommer correctement tes variables, afin de pas avoir de conflit.
Pour ce faire et en être sur, nome les du genre $P_var.

Je sais pas si ça pourras te servir correctement, en espérant que oui

Cordialement

Ps: Il dois y avoir moyen de modifier se script afin d'avoir une facilité plus grande, mais j'avoue que je sais pas trop, je vais faire des test, si je trouve je te le met.

Sinon peux être d'autre connaitrons la meilleur solution!

Re: regex

par xkukat » 29 janv. 2012, 22:42

Merci,
A demain donc

Re: regex

par Fre3z69 » 29 janv. 2012, 22:29

Arf là je suis pas trop, je connais pas trop les regex, mais je faire un essaie demain, on verras bien si j'ai eu bon ^^

En tout cas j'éspére que tu auras ta solution ^^

Cordialement

Re: regex

par xkukat » 29 janv. 2012, 17:31

Merci!
Mais je préfère modifier mon code source cela me prendra moins de temps.
Si quelqu'un avait un preg_replace() pour transformer mes $xxxx en $_POST['xxxx'] ?
Cordialement.

Re: regex

par xTG » 29 janv. 2012, 17:23

je pense que tu peux faire plus simple

echo (!empty($_GET))?'ok':'non';
echo (!empty($_POST))?'ok':'non';

de là tu peux récupérer les valeurs des GET et POST et les extraire pour avoir leur valeur sous forme de variable.

C'est une idée, tu peux voir avec ça si tu peux en faire quelque chose

En espérant que ça va t'aider

Cordialement
C'est ce qu'on appelle un joint pour éviter que le rafiot coule. :lol:
xkukat cherche à s'extirper d'un code développé pour le paramètre register_global.
Utiliser la fonction extract() est bien dans un premier temps quand on manque de temps... Mais c'est loin d'être propre et peut même occasionner des conflits.

Re: regex

par Fre3z69 » 29 janv. 2012, 17:02

je pense que tu peux faire plus simple

echo (!empty($_GET))?'ok':'non';
echo (!empty($_POST))?'ok':'non';

de là tu peux récupérer les valeurs des GET et POST et les extraire pour avoir leur valeur sous forme de variable.

C'est une idée, tu peux voir avec ça si tu peux en faire quelque chose

En espérant que ça va t'aider

Cordialement

Re: regex

par xkukat nissib » 29 janv. 2012, 16:46

c'est simple j'ai de nombreuse pages internet sur lesquelles la récupération
de formulaires doivent maintenant ce faire par $_phost ou $_get et plus par $
je voudrais écrire un script pour le faire automatiquement.

Re: regex

par Fre3z69 » 29 janv. 2012, 14:17

Ok, mais pourquoi mettre un $_POST après avoir un variable??

Re: regex

par xkukat » 29 janv. 2012, 13:36

Merci
Voici un exemple de code source:
je lit la ligne du fichier:
if($base==0)echo
je la remplace par :
if($_post['base']==0)echo
et ainsi de suite pour toutes les lignes suivantes.
Cordialement.

Re: regex

par Fre3z69 » 29 janv. 2012, 12:58

Explique nous plus en détail ce que tu cherche,e t dans quelle condition tu souhaite l'utilisé.

Avec ça on pourras comprendre, et mieux l’informé.

Cordialement

regex

par xkukat » 29 janv. 2012, 11:43

Bonjour,
Je cherche avec preg_match_all à remplacer automatiquement dans mes codes source $xxxx terminé par [espace=<>] par $_post[xxxx]
mais je n'arrive pas à construire la regex!
Merci de m'aider