JeuWeb - Crée ton jeu par navigateur
[Résolu] Get / Post ne marchent pas sur un nouvelle installation - 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 : [Résolu] Get / Post ne marchent pas sur un nouvelle installation (/showthread.php?tid=841)

Pages : 1 2 3 4


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Ludvig - 09-07-2008

J'espère pas démarrer un flamewer mais je vais quand même répondre un peu
(si vous avez besoin de moi, la discussion semble légèrement parti tout seul...)

@Sephi-Chan

>Pour m'amuser, j'ai cherché le jour depuis lequel registrer_global est à Off par défaut et tiens-toi bien, il s'agit du 22 Avril 2002 !

Justement c'est un peu ça que je tiens contre tout cette histoire Web/Apache/php, ça manque de rigueur des le départ...
J'avais pas configuré mon web server tout seul hein, j'étais chez infomaniak qui héberge 60.000 sites ...

Allez sur leur site dire qu'ils ne savent rien de la sécurité si vous voulez -.-

>> Je passe cependant le sujet en [Résolu] et je te souhaite bonne chance pour la maintenance de l'application. Wink

Merci Sephi-Chan, je vais faire ce que je peux, de plus je sais qu'on me
donne des bons conseils ici, je vais essayer de les utiliser au mieux.


Pour les autres, d'abord merci à ceux qui m'ont donné des conseils
(même implicitement Wink ), je ne connais effectivement pas très bien le
php et je ne sillonne pas les forums qui parle de changements, bon pratiques etc.

[mode orgueil on] une parenthèse juste pour situer, je ne suis pas un newbie en programmation, je code OOP en C++ deux doigts dans le néz, c'est mon métier et je me défends pas mal en pas mal d'autres terrains, désolé de passer pour un gros "je sais tout" mais les messages "toi noob tu connais rien" merci je m'en passe si c'est possible ... [mode orgueil off]

Je devrais (sillonner les forums etc.), mais j'ai vraiment pas le temps
(non mais vraiment vraiment pas) alors j'ai misé sur ma propre rigueur,
j'avais pas le choix, je ne connaissais vraiment pas assez bien php
quand j'ai commencé il y a 4 ans de faire mon jeu.
Fou selon certains, moi je rétorque qu'aucun site php est vraiment sur
(sauf si il tiens sur dix lignes et encore...) alors si on n'a pas de rigueur
il faut pas croire que php va faire la sécurité à ta place non plus.


Enfin, j'espère que mon prochain $_POST sur le forum suscitera autant d'intérêt :bisou: !


Ah oui, et vive les jeux PhP !

/Lud


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Sephi-Chan - 09-07-2008

Apache et PHP qui manquent de rigueur ? Pour Apache je n'en sais rien. Pour PHP oui, même s'il se professionnalise de plus en plus.

Ensuite, les choix de ton héberger n'engagent qu'eux, mais même si leurs configuration te permettent de faire des trucs dangereux (car registrer_global = On est vraiment dangereux, ça fait partie des failles évidentes qu'on peut deviner), tu n'es pas obligé de les utiliser. Je pense que cette mauvaise façon d'utiliser les variables globales ne t'est pas venue toute seul, tu l'as probablement lue quelque part.

Le problème, c'est qu'en 4 ans, personne ne te l'a fait remarquer et que tu ne sois pas tombé sur une contre-indication dans la doc (ou même ailleurs). Ce qui semblait être un problème de rigueur (ce dont je doute si tu es un professionnel sérieux — car même chez les pros il y a des branleurs — du développement C++) est en fait un problème d'information. Par contre le fait de ne pas souhaiter changer parce que ça risque de générer des bugs, c'est pas très classe ! Smile

Ensuite, concernant la sécurité, il est sûr qu'on trouvera toujours une faille dans un script un tantinet complexe (et si on en trouvera pas le serveur lui-même sera peut-être piraté !), mais c'est à nous développeurs de minimiser les chances que cela arrive en bétonnant le plus possible avec nos connaissances et les commentaires des autres. Dans ton cas, si tu n'as pas le temps de te pencher sur les subtilités de PHP, pourquoi ne pas diffuser ton code afin que d'autres puissent t'aider à le sécuriser et l'améliorer ? Tu mets une licence qui va bien et voilà ! Wink


Sephi-Chan


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Ludvig - 10-07-2008

Okay

> registrer_global = On est vraiment dangereux

Dit mois quand même si j'ai raison sur ce raisonnement :
C'est dangereux uniquement si on a

soit :
oublié de déclarer une variable (et de l'initialiser) avant de l'utiliser

soit :
oublier de prendre en compte la valeur de cette variable à l'utilisation
(typiquement Bas de donnés ou sur une autre variable relatif aux
opérations DB) , le tester si c'est OK ou pas quoi (type un perso veut
dépenser 50 Pièces, ben faut vérifier si il les a les nombres de pièces et
que $depenser ne vaut pas x"y'''\\\', qu'il dépense pas une valeur négatif etc.).


dans une cadre
où le .php génère uniquement :

des morceaux HTML simples (text + images + liens css (connus à l'avance) + javascripts statiques (connus à l'avance) )



Je suis très intéressé de poursuivre cette discussion car
la sécurité n'est pas quelque chose de facile a gérer,
peu importe son niveau il y a des choses qu'on manque facilement.


J'ai codé un serveur multijoueur en C++ par exemple, j'ai appris pas mal
de choses là dessus, en même temps je ne connais pas (assez) bien le
php, et surtout son monde donc si vous voulez partager je serais ravi
de participer avec ce que je connais même si ce n'est pas lié directement aux code php.



/Lud
ps. si quelqu'un voudrais tester la sécurité du code de mon jeu je serais vraiment super content, enfin je rêve surement mais on a droit non :biere: ?!
pps. 1.221.833 octets en 371 fichiers php, ça fais réfléchir avant de tout changer quand même...


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Sephi-Chan - 10-07-2008

Le paramètre register_global est dangereux car il empêche d'avoir le contrôle sur la source d'une donnée. Il devient très facile d'injecter le script. La documentation de PHP propose un article explicatif sur le sujet : Utilisation des variables super-globales.

Modifier maintenant ton code serait plus avantageux que d'attendre d'en avoir encore plus. De même, sur la quantité tu dois avoir pas mal de fichier qui ne sont pas concernés par ces variables. Et puis, si tu changes d'hébergeur ou que ce dernier passe à PHP6, tu es dans la merde.

Vraiment, je pense que la meilleure solution resterait de diffuser ton code source (sous une licence Creative Commons, par exemple) et de te faire aider dans la sécurisation de ton application.


Sephi-Chan


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Eluox - 10-07-2008

Sephi-Chan a écrit :(sous une licence Creative Commons, par exemple)

HS : t'es vraiment a fond dans cette licence que t'as découvert toi Big Grin

Sinon, Sephi a raison, je te conseille de refaire tes scripts tout de suite, avant qu'il soit trop tard :/

Cordialement,


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Sephi-Chan - 10-07-2008

Forcément, elles sont géniales ! Tout le monde y trouve son compte avec !


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Sephi-Chan - 10-07-2008

Non car je marque expressément sur le Wiki qu'en attendant, les sources sont à nous et rien qu'à nous ! Je pense toutefois ne pas les mettre à jour sur le Wiki de manière à ne pas prendre de risques. Cela ne nous pénalisera pas puisque l'on travaille maintenant avec SVN.


Sephi-Chan, qui aimerait arrêter sa dérive


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Anthor - 10-07-2008

Concernant SVN, tu peux ou non laisser les utilisateurs anonyme consulter les sources, pour aller plus loin dans les commentaires et autres, il faut TRAC.


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Ludvig - 10-07-2008

Réponse rapide du boulot @ Sephi-Chan :
(désolé de revenir sur le sujet initiale ^^ )

Merci pour le lien, je vais faire quelques tests avec la directive error_reporting Smile


Sinon je ne vois pas la différence, je suis surement un peu lent mais si je ne contrôle pas
mes variables, register_globals à on ou à off, ça ne change strictement rien...

Je comprends très bien l'exemple qui montre qu'il peut y avoir une
problème de sécurité mais sérieusement, qui coderai un bousin pareil xD

Je commence à penser de plus en plus que ce genre de procédé (mettre
automatiquement magic_quotes, register_globals etc) est le fruit d'un trop
grand nombre de "programmeurs" amateurs qui eux ne savent pas coder
et font alors des scripts "hackables"...


Enfin si j'ai bien compris (h)


/Lud
ps. donner mon code source, mouais mais non, il y a tout les formules et calcules "secrets" dedans ... une partie pourquoi pas ...


RE: [Résolu] Get / Post ne marchent pas sur un nouvelle installation - Sephi-Chan - 10-07-2008

La configuration registrer_globals = On était justement l'un des procédés censés faciliter le développement aux codeurs bidons, à la manière des magic quotes.

Quand tu parles de code crade, je crois que tu ne te rends pas compte que coder avec des variables globales crées automatiquement à partir des variables EGPCS, c'est dégueulasse (en plus d'être dangereux). Quand tu te dis pro, ça m'effraye un peu car les variables globales sont à éviter dans n'importe quel langage, que ce soit pour la sécurité, la lisibilité et les performances.

Autant ne pas te risquer à l'injection de variables dans ton script en corrigeant ces failles latentes dans tout le code source. De toute façon tu y sera forcé d'ici quelques années puisque ce paramètre est déprécié depuis PHP 4.2 (2002) et sera supprimé avec PHP 6 (2008).


Sephi-Chan