« MySQL/API » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 171 :
PHP a des variables d'environnement appelées <code>register_globals</code>. Depuis PHP 4.2, elles sont False par défaut, et ne doivent pas être activées. Dans PHP 5.3, cette variable est également désuète, et dans PHP 6 retirée.
 
Cependant, si la version de PHP utilisée accepte register_globals, on peut vérifier s'il est activé lancer <code>ini_get()</code>. Si c'est le cas, <code>ini_set()</code> ne pourra pas le changer. Il y a deux façons de le faire :
* Éditer <code>php.ini</code>.
 
* addingAjouter oneune lineligne toau .htaccess :
If it's true, thought, you can't modify it with ini_set(). There are two ways to set it off:
 
* editing php.ini
(impossible if you're using a hosting service)
 
* adding one line to .htaccess:
php_flag register_globals off
(sometimes possible in hosting)
 
The reason is that if register_globals is true, a user can arbitrary add variables to your script by calling them like this:
 
En fait si register_globals est True, un utilisateur peut arbitrairement ajouter des variables à votre script avec ce genre de commande :
your_script.php?new_variable=new_value
 
Ne jamais utiliser le tableau <code>$_REQUEST</code>, lui préférer :
You should never user the $_REQUEST superglobal array. It can be used to retrieve variables from:
 
* $_ENV
* $_GET
Ligne 194 ⟶ 186 :
* $_SERVER
 
ThisCet isordre theest ordercelui followedsuivi bypar PHP, (maymais beil modifiedpeut byêtre themodifié par variables_order environment variable).
 
This means that if your script set a server variable called "userid" and you try to read it via $_REQUEST, the user can prevent that by adding a variable to the query string.
Cela signifie que si votre script définit une variable serveur appelée "userid" et que l'application tente de la lire dans <code>$_REQUEST</code>, l'utilisateur peut prévenir en ajoutant une variable à la requête.
 
Also, you should never blindly trust the validity of HTTP variables.
 
[[en:MySQL/APIs]]