JeuWeb - Crée ton jeu par navigateur
Blasphème! - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Blasphème! (/showthread.php?tid=4602)

Pages : 1 2 3


RE: Blasphème! - Argorate - 23-02-2010

Vorkosigan : +1, question pertinante! Histoire qu'on soit au courant^^


RE: Blasphème! - DragonMaster - 23-02-2010

C'est mon université (ok je suis un gros emmerdeur...ils m'hébergent gratuitement je devrais les remercier...ce que j'en profite pour faire). D'ailleurs, semble-t'il que les admins n'y sont pour rien...leurs pouvoirs sont limité et comme beaucoup de gens hébergés utilise les register_globals ils ne peuvent rien faire. Bref malgré ce défaut, merci à mon Uni et bonne chance au admins! Tongue

www.jexiste.fr aussi met les register_globals à on!!!


RE: Blasphème! - Plume - 23-02-2010

Les gens n'ont plus qu'à apprendre à développer sécurisé et stable Big Grin


RE: Blasphème! - Zamentur - 23-02-2010

Quand on analyse un certains nombre de script de forum/CMS, donc de web application très portable, on s'aperçois qu'ils testent et reprécisent si besoin ce genre de configuration. C'est vrai qu'on a peu de sujet sur ce forum qui en parle, mais c'est pourtant utile même pour un jeu en ligne qui n'a pas vocation a être trop portable. En fait le trucs c'est qu'un jeu en ligne peut avoir un besoin soudain de changer d'hébergeur (manque de puissance, problème avec l'hébergeur)

Maintenant ton université pourrais tout bettement mettre (ou demander de mettre) un htaccess pour les sites ayant besoin de register_global. Parce que c'est sur qu'il sont pas près de s'en sortir si ils ne changent rien.

Enfin je suppose que tu l'as mis à Off du coup...


RE: Blasphème! - Plume - 23-02-2010

La solution a été plusieurs fois citée.

Exemple :
Code PHP :
<?php 
private function parseVariables(array $amVariablesTabs) {
if (
get_magic_quotes_gpc()) {
foreach (
$amVariablesTabs as &$variable) {
$variable = stripslashes($variable);
$variable = mysql_real_escape_string($variable);
}
}

return
$amVariablesTabs;
}



RE: Blasphème! - Zamentur - 23-02-2010

Eux, non çà c'est pour les magic_quote_gpc a on. Beaucoup plus fréquent effectivement.
Non là c'est register_global qui est à On

Ou alors j'ai rien suivi


RE: Blasphème! - Anthor - 24-02-2010

D'un autre côté ça fait quand même depuis 2002 (php4.2), que cette valeur est à Off par défaut...

Après 7 ans y'a pas besoin de s'étaler sur le sujet dans le forum je pense ^^
Et même à l'époque c'était déjà pas conseillé de développer avec.


RE: Blasphème! - Plume - 24-02-2010

(23-02-2010, 10:49 PM)Zamentur a écrit : Eux, non çà c'est pour les magic_quote_gpc a on. Beaucoup plus fréquent effectivement.
Non là c'est register_global qui est à On

Ou alors j'ai rien suivi
C'est vrai, j'ai été un peu vite Smile

Pour connaitre le valeur de register_global :
Code PHP :
<?php if (ini_get('register_globals') == 1) {} ?>

(24-02-2010, 01:10 AM)Anthor a écrit : D'un autre côté ça fait quand même depuis 2002 (php4.2), que cette valeur est à Off par défaut...

Après 7 ans y'a pas besoin de s'étaler sur le sujet dans le forum je pense ^^
Et même à l'époque c'était déjà pas conseillé de développer avec.
Mais c'est comme beaucoup de choses, il faut prendre les extras en compte Sad


RE: Blasphème! - DragonMaster - 24-02-2010

Héhé, quoi qu'il en soit si vous voulez que votre projet soit cross-register_globals voici le code de php.net:

Code PHP :
<?php 
// Unregister_globals: unsets all global variables set from a superglobal array
// --------------------
// This is useful if you don't know the configuration of PHP on the server the application
// will be run
// Place this in the first lines of all of your scripts
// Don't forget that the register_global of $_SESSION is done after session_start() so after
// each session_start() put a unregister_globals('_SESSION');

function unregister_globals()
{
if (!
ini_get('register_globals'))
{
return
false;
}

foreach (
func_get_args() as $name)
{
foreach (
$GLOBALS[$name] as $key=>$value)
{
if (isset(
$GLOBALS[$key]))
unset(
$GLOBALS[$key]);
}
}
}

unregister_globals('_POST', '_GET', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES');

Reste à mettre unregister_globals('_SESSION'); après session_start().


RE: Blasphème! - Plume - 24-02-2010

T'as besoin de faire ça si en plus de l'activation de register_globals, tu les utilises.

Dès PHP 6, on ne trouvera plus cette fonctionnalité ! Smile