comment faire avec une boucle for()

ViPHP
ViPHP | 2577 Messages

05 nov. 2010, 15:41

Bonjour,

Le "register_global à ON" ne posait pas non plus de problème de sécurité... dans la mesure ou toutes les variables étaient initialisées. Ici non plus, j'aurai bien du mal à trouver une faire dans ce cas précis sans disposer du code en entier. Ca ne m'empêche pas de me rappeler d'un "admin=1" assez efficace dans un CMS il y a quelques années.

J'ajouterai que ce n'est pas parce que je ne suis pas capable de trouver une faille qu'il n'y en a pas. Certains ont un esprit très affuté pour ca. Je préfère éviter ce genre de risque et limiter dans la mesure du possible l'utilisation de ce genre de solution.

Eléphant du PHP | 275 Messages

05 nov. 2010, 15:47

Et maintenant, quote moi UN SEUL passage de ce topic qui dise d'activer les auto globals ou d'utiliser la fonction extract.

Si tu échoues, tu devras de donner un donut saveur papaye.

Eléphant du PHP | 55 Messages

05 nov. 2010, 16:00

Suffit de lire la doc : http://www.php.net/manual/fr/function.i ... iables.php
hello

c'est pas un hasard sur register_global est passé à OFF depuis bien 5 ans :)
Bien sûr et je ne pense pas qu'il reste grand monde de convaincu qu'il s'agissait d'une erreur. Mais la fonction import_request_variables ne fonctionne pas comme register_global :
1 - Le programmeur choisit les variables à importer (GET, POST et/ou COOKIE) et choisit l'ordre dans lequel elles seront importées.
2 - Le second paramètre permet de préfixer le nom de la variable
<form method="post" action="xxx.php">
  <input type="text" name="field" value="2"/>
</form>
<?php
// url xxx.php
$field= 1;
import_request_variables('p', 'p_');
echo $field;  // affiche 1
echo $p_field;  // affiche 2

// url xxx.php?field=3
import_request_variables('gp', 'p_');
echo $p_field;  // affiche 2
import_request_variables('pg', 'p_');
echo $p_field;  // affiche 3
?>

ViPHP
ViPHP | 5462 Messages

05 nov. 2010, 16:47

Et maintenant, quote moi UN SEUL passage de ce topic qui dise d'activer les auto globals ou d'utiliser la fonction extract.

Si tu échoues, tu devras de donner un donut saveur papaye.
pourquoi j'ai dis ca ?

quand je dis :
non, c'est pas sécuriser tu peux écraser n'importe quelle variable avec un simple POST
tu comprends qu'il faut activé ca ?

Eléphant du PHP | 275 Messages

05 nov. 2010, 17:28

Non, je comprend qu'il te manque le skill "Lire un topic en entier sans dire de conneries" dans ta barre de sorts IRL.

Parce que :
non, c'est pas sécuriser tu peux écraser n'importe quelle variable avec un simple POST
C'est une connerie (dans ce cas précis).

ViPHP
ViPHP | 5462 Messages

05 nov. 2010, 17:29

Non, je comprend qu'il te manque le skill "Lire un topic en entier sans dire de conneries" dans ta barre de sorts.
et toi il te manque rester polis, et qu'est ce j'ai dis comme "connerie" ?

Eléphant du PHP | 275 Messages

05 nov. 2010, 17:46

Parce que :
non, c'est pas sécuriser tu peux écraser n'importe quelle variable avec un simple POST
C'est une connerie (dans ce cas précis).
(ça risque d'être long si je dois auto-quote mes messages)

ViPHP
ViPHP | 5462 Messages

05 nov. 2010, 17:53

c'est comme tu veux, si t'es vexé que je te dise que de faire import_request_variables c'est moche et justifié par la doc c'est plus mon problème

Eléphant du PHP | 422 Messages

05 nov. 2010, 17:55

si on parle de
foreach($_POST as $k=>$v){
${$k} = $v;
}
ca risque de poser des problèmes

après si on fait
for($i=1;$i<$n_ligne+1;$i++)
{
${'jour_'.$i} = $_POST['jour_'.$i];
}
ca reste plus limité pour écraser des var dans le script global.

mais passer par un tableau pour stocker les résultats reste plus approprié pour la gestion par la suite.

donc si il y a plusieurs champs jour dans le form, je ferais name="jour[]"
et traiterait avec un foreach dans php ;)
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 275 Messages

05 nov. 2010, 18:06

c'est comme tu veux, si t'es vexé que je te dise que de faire import_request_variables c'est moche et justifié par la doc c'est plus mon problème
C'est moche, c'est horrible et c'est caca, mais ça ne pose pas de failles de sécurités contrairement à ce que tu disais jusque là.

telnes resume bien la situation.

ViPHP
ViPHP | 5462 Messages

05 nov. 2010, 18:33

en effet il résume très bien la situation :
hello

c'est pas un hasard que register_global est passé à OFF depuis bien 5 ans :)
je te réinvite a lire la doc (ou a la comprend c'est plus le coté la qui est défaillant)
http://php.net/manual/fr/security.globals.php

voir lire les innombrables articles sur se sujet : http://www.google.fr/search?q=php+regis ... urit%C3%A9

Eléphant du PHP | 275 Messages

05 nov. 2010, 18:51

Je parlais de son tout dernier message, juste au dessus du tien la, quelques lignes plus haut, que tu n'a pas réussi a lire apparement.

Ou alors t'as toujours pas compris que import-request-variables BIEN UTILISE n'était pas une faille de sécurité contrairement à extract ?

ViPHP
ViPHP | 5462 Messages

05 nov. 2010, 19:15

Je parlais de son tout dernier message, juste au dessus du tien la, quelques lignes plus haut, que tu n'a pas réussi a lire apparement.

Ou alors t'as toujours pas compris que import-request-variables BIEN UTILISE n'était pas une faille de sécurité contrairement à extract ?
Bonjour, je vend ma voiture elle a pas de ceintures de sécurité mais si vous conduisez bien y'a pas de problèmes ^^
=D> belle mentalité surtout pour un jeune conducteur

Eléphant du PHP | 275 Messages

05 nov. 2010, 19:21

Je t'invite donc a ton tour à lire la doc de http://fr.php.net/import-request-variables, que tu sembles confondre avec extract. Et que j'ai moi même découverte sur ce topic en passant.

Mais ça reste moche.

ViPHP
ViPHP | 5462 Messages

05 nov. 2010, 19:24

non mais je connais, c'est extract mais en pire (pas de gestion au niveau de l'écriture de la variable), et y'a aucun intérêts a simuler les register_globals