OVH Cloud OVH Cloud

Beta Test d'un script de livre d'or.

42 réponses
Avatar
Steuf
Bonjour à tous,

je développe actuellement un script de Livre d'or nommé EXlor, pour
vérifier la compatibilité avec les hébergeur et vérifier qu'il n'y a pas
de BUG ou d'erreurs, et pour avoir l'opinion des utilisateurs pour
amiolérer certaines parties de l'administration, je lancerais une Beta
Test à la fin du mois de Juin du script.
La démonstration et l'inscription à la Beta Test se passe ici :
http://exinsidephp.free.fr/
En vous remerciant d'avance pour votre aide.

Steuf

10 réponses

1 2 3 4 5
Avatar
John GALLET
Re,

Pourquoi employer le terme "un de plus".
Parce qu'il existe déjà des milliers de scripts de ce genre, même si on

se limite seulement à la plateforme PHP. C'est un fait avéré.

que le projet n'est pas original, mais pour un premier projet qui sera
libre je n'avais pas vraiment d'idées, je me suis dit qu'avec tous les
livres d'or que j'ai pu testé aucun ne m'avait vraiment convaincu, avec
chacun leurs défaut, et j'ai voulu faire se projet pour essayer de
corriger les défauts que j'ai pu voir ici et là.


Alors présente le carrément dans cette optique dès le départ.

Mais je n'ai aucune prétention pour sa perfection.
Erreur :-) A quoi servirait-il s'il rejoignait ceux qui ne t'ont pas

convaincu ?

Mon BUT premier était déjà de faire un
apprentissage et voir ce que serait le développement d'un SCRIPT,
Dans ce cas là, l'analyse/la dissection du code source est plus que

vitale.

La note n'est pas sécurisée (apparition de tous les messages en "barré")
Oui exact, un oubli ( Les tests servent à ça ... A trouver les oublis ça

arrive à tout le monde... ).
Personne n'a dit le contraire.


Oubli que je corrigerais, c'est noté.
L'impact est faible parce que tu ne stockes que deux caractères. Mais je

ne comprends pas pourquoi ce n'est pas un entier en SGBD ? J'ai vu cette
faille immédiatement dès la première consultation des messages
présents parce que certains avaient - comme note... ce qui est la valeur
par défaut, donc tu ne vérifies rien dessus, même pas qu'elle a été
remplie.

Je n'ai pas joué à faire des injections SQL,
Chaque requête Mysql est théoriquement protégé contre les injections Mysql.

En théorie. La note aussi, en théorie...


A vrai dire à l'époque c'est le seul moyen que j'ai trouvé, même s'il
est vrai ne peut être vraiment éfficace à 100%, et j'ai cru savoir qu'il
n'y en avait pas vraiment, s'il existe j'aimerais bien connaître la
technique, je ne demande qu'à apprendre.


L'antiflood c'est comme la majeure partie des lois de ce pays, et comme
99,99% des protections antipiratage : elles se contournent en 5 minutes
par quelqu'un qui veut le faire et elles ne font **donc exclusivement
qu'emmerder l'honnête citoyen**. Tu nous demandes de tester ton appli, on
va pas attendre 1 minute entre chaque requête (c'est peut-être
prétentieux de ma part, mais je n'ai pas besoin d'une minute pour
réfléchir au prochain test).

Je ne peux me permettre de le désactiver dans cette version publique
cela aménerait à des abus...
Affirmation gratuite. Même si 50 contributeurs de ce forum se mettent à

stresser ton appli, ça va pas casser trois pattes à un pingouin en nombre
de requêtes/seconde hein...

démonstration à la base et non de test, si vous souhaiter vraiment
m'aider ( Et j'en serais ravit ) je pourrais mettre en place le script
ailleurs,
Je ne vais certainement pas installer sur une de mes machines une

application écrite par un débutant sans l'avoir totalement disséquée.
En ce qui concerne la portabilité, je rejoins les remarques de Guillaume,
et j'ajouterai que le meilleur moyen d'apprendre est de disséquer le code
d'autres applications qui ont déjà fait ce parcours du combattant. Tiens,
phpMyAdmin, au hasard. Ou squirrel-mail. Je déconseille imp pour une
première approche, sauf si on veut se farcir pear en frontal.

je vous donnes l'url et vous pourrez faire les tests que vous
voulez ( Si vous ne voulez pas vous incrire à la Beta ).


A mon sens le problème d'attitude que tu ressens est bien là : outre le
fait qu'apparement tu n'as pas lu ce forum pendant quelques temps avant
d'y poster (tu saurais alors qui a l'habitude d'être soit disant sec ou
non) cette histoire de "s'inscrire à une bêta" pour un script dont des
milliers d'exemplaires existent partout. Soit tu diffuses, soit tu
diffuses pas, mais décide toi.

Ce n'est pas me secouer le Biniou dont j'ai besoin, je veux juste voir
quelles erreurs de codage j'ai pu faire, et pour ce faire j'ai besoin de
personnes d'expérience comme vous,
Justement c'est là ton erreur : si tu veux que je puisse détecter des

erreurs de codage, on n'a que DEUX possibilités : secouer le bouzin en le
testant dans tous les sens (et je me répète, il est hors de question que
je fasse ça avec le time out actuel) ou disséquer le code. Il n'y a pas
d'autres solutions. Donc tu diffuses ton code, si quelqu'un a 1/2heure à
ne rien faire, il y jette un oeil.

mais à priori mon projet est mal perçu ici,
Non : ta mise en scène de grand entreprise d'édition de logiciel est mal

perçue en ce qui me concerne et apparement je ne suis pas le seul.
Personne n'a dit qu'elle était volontaire. C'est la manière dont elle a
été perçue.

j'ai toujours eu une bonne image de la communauté PHP,
Une communauté, c'est un ensemble de personnes vivant selon les mêmes

règles religieuses. Et il n'y a pas plus intégriste qu'un informaticien.

J'ai toujours dit que tant que mon script ne sera pas prêt à être
diffusé ( Surtout à cause de failles de sécurité ) il ne le sera pas.
Alors on tourne en rond. Parce que tant que quelqu'un avec un

peu plus d'expérience ne t'aura pas confirmé qu'il n'y a pas de failles
majeures, tu ne diffuseras pas donc personne ne lira...

qu'on me le dise tout de suite au lieu de tourner autour du pot.
Moi ? tourner autour du pot ? C'est pas dans les habitudes de la

maison, j'ai pas le temps.

vous voulez m'aider merci d'éviter d'être aussi agressif et d'avoir des
apriori sans savoir dans quel but je fais ce script.
La meilleure solution pour que les personnes extérieures au projet n'aient

aucun a priori c'est de s'expliquer clairement dès le départ.

Grosso merdo, les xss classiques sont filtrées, probablement par
strip_tags.
En parti oui, j'utilise aussi preg_replace pour tout ce qui est code

Javascript malicieux.


Alors attention, dès qu'on essaye de faire intelligent, il y a des
risques (de tomber sur un attaquant plus intelligent, tout simplement).

Pourquoi as-tu éprouvé le besoin de rajouter un filtre après strip_tags ?
Tu as un exemple de code qui passe au travers de strip_tags ?

JG


Avatar
Steuf

Je pense qu'il dit "un de plus" pour dire que ce n'est pas original. En plus
tu le dis toi même...


Un de plus un de moins ;-)
Et dans l'autre post je montre ce que j'ai voulu amélioré, donc je n'ai
pas trop envie de me répéter ;-)

A ta place j'aurai répondu pourquoi ce n'est pas un de plus (et donc qu'est
ce qu'il a de plus que les autres, quels sont les défauts dont tu parles)


Cf la réponse à Mr Bouchard



je veux juste voir quelles erreurs de codage j'ai pu faire
[...]
J'ai toujours dit que tant que mon script ne sera pas prêt à être diffusé



Si tu veux qu'on te donne les erreurs de codage que t'as faites, ca serait
quand même mieux que tu nous montre le code.


Quel est l'utilité de montrer un code qui n'est pas terminé ?!?

Le script n'est pas complet.....

Je comprends pas ton raisonnement : tu veux pas donner le code parceque
sinon on trouverait les failles.


Je n'ai jamais dit cela, je voudrais d'ailleurs que l'on trouve des
failles que je n'ai pas vu ! La question n'est pas là, je ne vois
absolument pas l'intêret de vérifier un code que je n'ai pas terminé...

Donc tu nous montre pas le code, mais tu
nous demande de trouver les failles ?!


Heu la demande n'est pas pour aujourd'hui, et pour cause script non
terminé mais qui le sera bientôt....



avoir des apriori sans savoir dans quel but je fais ce script.



Il ne tient qu'à toi de les lever.


oui sans doute mais j'aime pas trop les apriori comme ça :-), j'ai
toujours tendance à partir au quart de tour après...



Grosso merdo, les xss classiques sont filtrées, probablement par
strip_tags.


En parti oui, j'utilise aussi preg_replace pour tout ce qui est code
Javascript malicieux.



Il y a probablement des problèmes ici (mais sans voir le code c'est dur à
dire) si tu comptes empecher tout abus de script avec des regexp (on pense
jamais à tout).


Oui ça je suis d'accord, mais à priori ça devrait être bon là... Enfin
j'espère.

De toutes façons, il me semble que tu executes htmlentities sur le texte,


Absolument pas, l'éditeur HTML lui ne fait que traduire ce que tu lui
donnes, là a été le principale problème, j'ai cherché un éditeur qui
laisse le chanps textearea lorsque Javascript n'ets pas activé. Avec
l'éditeur aucun problème de sécurité, mais quand Javascript est
désactivé, c'ets là qu'ils arrivent. J'ai essayé divers méthode, et hors
de question d'utiliser htmlentities qui masscrerait tout code html dans
cette partie de texte...

alors j'ai du mal à voir comment faire une injection javascript.


désactives Javacript dans ton explorateur, tu auras après tout le loisir
d'essayer de faire des injections ;-)



Avatar
Steuf


je suis vraiment désolé pour cette avalanche d'avis plus ou moins
négatif. Ce que nous jugeons ici, si on peut parler de jugement,
c'est

* premierement de ne pas dispsoer des sources,


Ce n'était pas le but, mais quand le script sera prêt si vous voulez les
sources vous les aurez, mais j'estime que cela compliquerait plus les
choses qu'autre chose si je vous les donnes avant que le script soit
terminé, on me dirait : " Ca c'est pas fait, ou mal fait ", alors que
c'ets une chsoe sur laquelle je travail :-)

* la collecte d'adresse email qui finalement n'en n'est pas vraiment
une.


Non cela n'en ai pas une, elle permettra juste d'avoir un moyen
d'envoyer le script, et de vérifier que ce n'est pas n'importe qui qui
s'inscrit et pour moi avoir un moyen de contact valide.

Il faut savoir que par moment ce group est sujet a des SPAM
un peu deguisés.


Ca je comprend bien, désolé, mais difficil dans ce cas de montrer sa
bonne fois :-(


ton initiative semble intéressante. Interessante d'autant plus que
tu defend bien ton bifteack et que visiblement tu semble avoir
penser a pas mal de facettes un peu vicieuses du web, particulierement
sur la securité.


Je me suis basé sur les scripts que j'ai testé qui ont des défauts que
j'ai voulu corriger, mais je ne prétends en rien qu'il soit meilleurs
qu'un autre script, j'aurais mon boulo, il m'aura satisfait
personnelement, et cela sera le principal.


L'ideal serait de monter ce script sur une zone de test ou tu n'aurais
pas peur des hacking. Puis de lacher les sources.


pour la zone de test, je peux vous en faire une, ce n'est pas un
problème. Pour les sources, pas tant que je ne n'aurais pas finis le
script, après oui vous pourrez avoir les sources sans problème.

Avatar
Steuf
Re,


Pourquoi employer le terme "un de plus".


Parce qu'il existe déjà des milliers de scripts de ce genre, même si on
se limite seulement à la plateforme PHP. C'est un fait avéré.


Oui c'est vrai


Mais je n'ai aucune prétention pour sa perfection.


Erreur :-) A quoi servirait-il s'il rejoignait ceux qui ne t'ont pas
convaincu ?


Je voudrais qu'il le soit, mais il ne le sera pas sans une aide
extérieur pour le finaliser ;-)



Mon BUT premier était déjà de faire un
apprentissage et voir ce que serait le développement d'un SCRIPT,


Dans ce cas là, l'analyse/la dissection du code source est plus que
vitale.


Oui je n'en doute pas, mais il n'est pas terminé donc je ne vois pas
l'intéret de distribuer le code...



La note n'est pas sécurisée (apparition de tous les messages en "barré")


Oui exact, un oubli ( Les tests servent à ça ... A trouver les oublis ça
arrive à tout le monde... ).


Personne n'a dit le contraire.


Oubli que je corrigerais, c'est noté.


L'impact est faible parce que tu ne stockes que deux caractères. Mais je
ne comprends pas pourquoi ce n'est pas un entier en SGBD ?


Mon sytème de note je dois le refaire en partie, j'ai mal géré le "sans
note" et j'enregistre le "-" dans la BDD, ce qui fait que je ne pouvais
utiliser une champs INT, je n'ai vu qu'après mon erreur ( Idiote en plus
), puis comme j'étais sur autre chose je ne l'ai pas corrigée... Et pour
finir j'ai oublié d'y revenir :-(

J'ai vu cette
faille immédiatement dès la première consultation des messages
présents parce que certains avaient - comme note... ce qui est la valeur
par défaut, donc tu ne vérifies rien dessus, même pas qu'elle a été
remplie.


Oui c'ets vrai que j'ai vraiment raté cette partie, mais je le savais
déjà qu'elle était bancale surtout pour la BDD ( Pas très optimisé ce
que j'ai fait.... )



Je n'ai pas joué à faire des injections SQL,


Chaque requête Mysql est théoriquement protégé contre les injections Mysql.


En théorie. La note aussi, en théorie...


Chaque requête Mysql passe par cette fonction :

function quote_smart( $value ) {
if ( get_magic_quotes_gpc() ) {
$value = stripslashes( $value );
}

if ( !is_numeric( $value ) ) {
$value = mysql_real_escape_string( $value );
}

return $value;
}

Et j'ai cru lire que cela suffisait contre les attaques Mysql, je ne me
suis peut être pas assez renseigné...



A vrai dire à l'époque c'est le seul moyen que j'ai trouvé, même s'il
est vrai ne peut être vraiment éfficace à 100%, et j'ai cru savoir qu'il
n'y en avait pas vraiment, s'il existe j'aimerais bien connaître la
technique, je ne demande qu'à apprendre.



L'antiflood c'est comme la majeure partie des lois de ce pays, et comme
99,99% des protections antipiratage : elles se contournent en 5 minutes
par quelqu'un qui veut le faire et elles ne font **donc exclusivement
qu'emmerder l'honnête citoyen**.


Oui c'est vrai, je suis d'accord.

Tu nous demandes de tester ton appli, on
va pas attendre 1 minute entre chaque requête


Oui mais à la base, celle là n'est qu'une démonstration, elle était pas
prèvu pour être testé.

(c'est peut-être
prétentieux de ma part, mais je n'ai pas besoin d'une minute pour
réfléchir au prochain test).


Quand on connait les divers test à effectuer c'est vrai que l'on a pas
besoin de 10 minutes entre chaque ;-)



Je ne peux me permettre de le désactiver dans cette version publique
cela aménerait à des abus...


Affirmation gratuite. Même si 50 contributeurs de ce forum se mettent à
stresser ton appli, ça va pas casser trois pattes à un pingouin en nombre
de requêtes/seconde hein...


oui sans doute



démonstration à la base et non de test, si vous souhaiter vraiment
m'aider ( Et j'en serais ravit ) je pourrais mettre en place le script
ailleurs,


Je ne vais certainement pas installer sur une de mes machines une
application écrite par un débutant sans l'avoir totalement disséquée.


Je ne vous demande pas de l'installer là.... je vous dit que je peux
mettre l'appli ailleurs ou vous pourrez faire tous vos tests, mais pas
de distribution du code si l'appli n'ets pas terminée, je trouve cela
absurde.

En ce qui concerne la portabilité, je rejoins les remarques de Guillaume,
et j'ajouterai que le meilleur moyen d'apprendre est de disséquer le code
d'autres applications qui ont déjà fait ce parcours du combattant. Tiens,
phpMyAdmin, au hasard. Ou squirrel-mail. Je déconseille imp pour une
première approche, sauf si on veut se farcir pear en frontal.


Oui c'est vrai.



je vous donnes l'url et vous pourrez faire les tests que vous
voulez ( Si vous ne voulez pas vous incrire à la Beta ).



A mon sens le problème d'attitude que tu ressens est bien là : outre le
fait qu'apparement tu n'as pas lu ce forum pendant quelques temps avant
d'y poster (tu saurais alors qui a l'habitude d'être soit disant sec ou
non) cette histoire de "s'inscrire à une bêta" pour un script dont des
milliers d'exemplaires existent partout. Soit tu diffuses, soit tu
diffuses pas, mais décide toi.


Comment puis je diffuser quelque chose qui n'ets pas termminé ?!? ( Je
ne suis pas Microsoft moi ;-) )



Ce n'est pas me secouer le Biniou dont j'ai besoin, je veux juste voir
quelles erreurs de codage j'ai pu faire, et pour ce faire j'ai besoin de
personnes d'expérience comme vous,


Justement c'est là ton erreur : si tu veux que je puisse détecter des
erreurs de codage, on n'a que DEUX possibilités : secouer le bouzin en le
testant dans tous les sens (et je me répète, il est hors de question que
je fasse ça avec le time out actuel)


C'ets pour cela que je vous propose de l'installer ailleurs pour que
vous puissiez le faire.

ou disséquer le code. Il n'y a pas
d'autres solutions. Donc tu diffuses ton code, si quelqu'un a 1/2heure à
ne rien faire, il y jette un oeil.


script non terminé, moi je trouve absurde et inutil de diffuser un code
incomplet pour une vérification... Puisque cela implique qu'il faudra le
faire une deuxième fois, perte de temps pour vous et pour moi d'ailleurs...


J'ai toujours dit que tant que mon script ne sera pas prêt à être
diffusé ( Surtout à cause de failles de sécurité ) il ne le sera pas.


Alors on tourne en rond. Parce que tant que quelqu'un avec un
peu plus d'expérience ne t'aura pas confirmé qu'il n'y a pas de failles
majeures, tu ne diffuseras pas donc personne ne lira...


Mais non, mais là je répéte toujours les même choses pourtant il me
semble être clair :

- CODE non distribué TANT que le script n'est pas TERMINE ( Perte de
temps, il faudra le refaire une deuxième fois, donc totalement inutil )
- NON on ne tourne pas en rond, car une fois le script terminé, je
montrerais le code pour que l'on puisse me dire si problème ou pas il y a.


Je ne peux être plus clair...


vous voulez m'aider merci d'éviter d'être aussi agressif et d'avoir des
apriori sans savoir dans quel but je fais ce script.


La meilleure solution pour que les personnes extérieures au projet n'aient
aucun a priori c'est de s'expliquer clairement dès le départ.


On ne pense pas forcement à ce genre de réaction...



Grosso merdo, les xss classiques sont filtrées, probablement par
strip_tags.


En parti oui, j'utilise aussi preg_replace pour tout ce qui est code
Javascript malicieux.



Alors attention, dès qu'on essaye de faire intelligent, il y a des
risques (de tomber sur un attaquant plus intelligent, tout simplement).

Pourquoi as-tu éprouvé le besoin de rajouter un filtre après strip_tags ?
Tu as un exemple de code qui passe au travers de strip_tags ?


Bah tout ce qui est code javascript, et tout ce qui est javascript
intégré dans du code html, cad :

javascript:|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup

C'est ce que j'ai pu lire ici et là, que Strip_tags n'empéchait pas tout...


JG




Avatar
Vincent Lascaux
A ta place j'aurai répondu pourquoi ce n'est pas un de plus (et donc
qu'est ce qu'il a de plus que les autres, quels sont les défauts dont tu
parles)


Cf la réponse à Mr Bouchard


Je crois pas y avoir trouvé une liste des défaut des autres livres d'or qui
n'apparaissent pas dans ton script. En fait je serais incapable de dire moi
même quels sont leur défaut parceque je me suis pas vraiment penché sur les
scripts de livre d'or qui existent. Mais ca ferait assez vendeur de dire
"mon script est mieux que tel autre sur ce point parcequ'il permet de faire
ca et ca en plus"... Ou même "même si ce n'est pas encore implémenté, mon
but est de permettre de faire ca, chose que les autres scripts ne permettent
pas"

Si tu veux qu'on te donne les erreurs de codage que t'as faites, ca
serait quand même mieux que tu nous montre le code.


Quel est l'utilité de montrer un code qui n'est pas terminé ?!?


Et bien ca permet de voir les erreurs de codage que t'as faites ?

Je comprends pas ton raisonnement : tu veux pas donner le code parceque
sinon on trouverait les failles.


Je n'ai jamais dit cela, je voudrais d'ailleurs que l'on trouve des
failles que je n'ai pas vu ! La question n'est pas là, je ne vois
absolument pas l'intêret de vérifier un code que je n'ai pas terminé...


Oui, je crois que j'ai lu un truc un peu vite... en fait ce que tu ne
voulais pas pour éviter les abus, c'était enlever l'antiflood, pas montrer
le code.
L'interet de vérifier un code (même non terminé) c'est que ca va vachement
plus vite d'y detecter des failles. Tu fais des preg_replace pour éviter les
injections javascript. Déjà moi je vois pas comment on peut en faire (en
fait je sais pas tres bien quelle partie gere la transformation texte =>
html). Ensuite si je veux tester, ca irait 'achement plus vite de voir les
regexp et de me dire "tient, ce cas là a pas l'air d'être géré" plutot que
de tester toutes les combinations auquelles je peux penser.

--
Vincent


Avatar
Vincent Lascaux
Mon BUT premier était déjà de faire un apprentissage et voir ce que
serait le développement d'un SCRIPT,


Dans ce cas là, l'analyse/la dissection du code source est plus que
vitale.


Oui je n'en doute pas, mais il n'est pas terminé donc je ne vois pas
l'intéret de distribuer le code...


Pour qu'on puisse te dire ce qui ne va pas dans le code plutot que d'essayer
de deviner ce qui est peut être un probleme dans le code en regardant son
comportement. D'autre part, je ne vois pas l'interet de ne pas le
distribuer. Tous les projets open source que je connais donne un acces
anonyme à leur CVS, voire même un interface web pour acceder encore plus
facilement au code non fini.

Chaque requête Mysql passe par cette fonction :

function quote_smart( $value ) {
if ( get_magic_quotes_gpc() ) {
$value = stripslashes( $value );
}

if ( !is_numeric( $value ) ) {
$value = mysql_real_escape_string( $value );
}


mysql_real_escape_string ne fait rien sur les chiffres. A quoi sert le if
ici ? (Voilà, ca c'est un feedback que tu ne *peux* pas avoir sur ton code
si tu ne le rends pas public, puisque dans ce cas on n'a acces qu'au
comportement et qu'avec ou sans le if le comportement est le même).


return $value;
}

[...]

Comment puis je diffuser quelque chose qui n'ets pas termminé ?!? ( Je ne
suis pas Microsoft moi ;-) )


De la même façon que tu fais fonctionné sur ton site quelque chose qui n'est
pas terminé : tu le rend public en précisant qu'il s'agit d'une version beta
(sur la page de téléchargement et dans le script)

ou disséquer le code. Il n'y a pas d'autres solutions. Donc tu diffuses
ton code, si quelqu'un a 1/2heure à ne rien faire, il y jette un oeil.


script non terminé, moi je trouve absurde et inutil de diffuser un code
incomplet pour une vérification... Puisque cela implique qu'il faudra le
faire une deuxième fois, perte de temps pour vous et pour moi
d'ailleurs...


Je suis pas d'accord. Avoir ou pas le code, c'est pas ca qui va changer la
necessité de refaire le travail quand tu auras changé le script. Tu veux
qu'on te trouve des problemes dans ton code. On te dit que le plus simple
serait d'avoir le code.
Une fois que tu les auras corrigés (et donc que le script aura changé), le
fait qu'une deuxième vérification soit necessaire ou non me semble
indépendant de la méthode utilisée pour trouver les bugs (en regardant le
code ou en stressant le logiciel)

- CODE non distribué TANT que le script n'est pas TERMINE ( Perte de
temps, il faudra le refaire une deuxième fois, donc totalement inutil )
- NON on ne tourne pas en rond, car une fois le script terminé, je
montrerais le code pour que l'on puisse me dire si problème ou pas il y a.


Si tu demandes s'il y a des problemes, c'est que le script n'est pas
terminé, qu'il peut être ammené à changer (enfin j'espere que tu tiendras un
peu compte des remarques qu'on te donnera). Donc il faudrait aussi le
refaire une seconde fois apres les modifications.

Encore une fois je trouve que tu prends le probleme du mauvais coté : la
lecture du code n'est qu'un moyen de détecter les bugs. Ca ne change pas le
fait qu'il faille revérifier ou non apres que tu aies fait des modifs.

--
Vincent



Avatar
John GALLET
Re,

Mon sytème de note je dois le refaire en partie, j'ai mal géré le "sans
note"


Donnée inconnue => NULL.

function quote_smart( $value ) {
if ( get_magic_quotes_gpc() ) {
$value = stripslashes( $value );
}
Pourquoi défaire le boulot déjà fait pour refaire la même chose ?

if ( !is_numeric( $value ) ) {
$value = mysql_real_escape_string( $value );
}
Est-ce qu'on y gagne vraiment quelque chose entre le temps pour déterminer

si la chaîne est numérique et le temps pour ne rien faire, je n'en sais
rien...

Le besoin algorithmique, c'est : si les ' ne sont pas échappées
correctement, le faire, donc :
if(get_magic_quotes_gpc()) return $value;
return mysql_real_escape_string( $value );
// ou return addslashes($value);

Et j'ai cru lire que cela suffisait contre les attaques Mysql, je ne me
suis peut être pas assez renseigné...


Non en effet, il y a aussi les attaques par les entiers. Tout dépend de
ton schéma de SGBDR. Je finalise un papier là dessus.

Tu as un exemple de code qui passe au travers de strip_tags ?
Bah tout ce qui est code javascript, et tout ce qui est javascript

intégré dans du code html, cad :
javascript:|onclick|ondblclick|onmousedown|onmouseup|
onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup


Bah oui mais non : mais encore faut-il les appeler. Tous ces machins là ne
sont appelables quand dans un tag valide (pas seulement <script> on est
bien d'accord, IMG, TABLE, BODY, OBJECT, j'en passe et des meilleures).

En revanche si tu autorises certains tags en deuxième argument de
strip_tags, il faut tester et voir si ça traverse ou pas.

C'est ce que j'ai pu lire ici et là, que Strip_tags n'empéchait pas tout...
Moi je suis plutôt approche Saint Thomas, je veux un contre exemple, pas

des "on dit". Je vais finir par aller lire le code source de strip_tags,
ça ira plus vite je sens...

JG


Avatar
Demosthene
Pourriez-vous arréter ce troll s'il vous plait !

Vous me semblez quelqu'un qui ne réagit pas du tout "open source".
Vous me donnez l'impression de vouloir les avantages (la force de
travail) de l'open-source sans l'inconvénient de perdre le pouvoir.

Ne pas diffuser les sources avant un hypothétique fini me semble idiot
et contre productif. Qui connait un code terminé ;) pourquoi y a-t-il
tant de version 2, 3 voire 10 ;)

Ce peut-être faire deux fois le travail que d'avoir les erreurs
importante le plus tôt possible : c'est tout refaire que de se rendre
compte des bourdes de conception à la fin.

Traduisez Open-Source en français, pour voir si nous avons la même
définition. Votre "vaporware" ne rime à rien tant que, dans l'esprit
Open-Source, vous ne mettrez pas du concret dans votre annonce : c'est
du propriétaire, ni plus ni moins.

Cordialement Démosthène
Avatar
SK Lurk
Quel est l'utilité de montrer un code qui n'est pas terminé ?!?
Le script n'est pas complet.....
Je n'ai jamais dit cela, je voudrais d'ailleurs que l'on trouve des
failles que je n'ai pas vu ! La question n'est pas là, je ne vois
absolument pas l'intêret de vérifier un code que je n'ai pas terminé...


A mon avis, pour éviter tout ce débat un peut tendu, il aurait suffit de
venir présenter ton travail lorsqu'il aurait été terminé, ou du moins
suffisament pour être communiqué.
Je trouve ton idée de départ bonne, mais les arguments de tes détracteurs
aussi. Tu étais sans doute trop presser pour communiquer sur ton travail.

--
SKL

Avatar
Vincent Lascaux
Code html ignoble, bon d'accord :

http://validator.w3.org/check?uri=http%3A%2F%2Fexinsidephp.free.fr%2Fbeta_exlor%2F&charset=%28detect+automatically%29&doctype=%28detect+automatically%29

Résultat : Code valide


C'est bon, c'est réparé... C'est à nouveau pas valide... :'P

--
Vincent

1 2 3 4 5