Le 09/07/2007 à 19h48
Paris
Nb Posts : 2007
Ah oui, tu peux aussi bien sûr. Si tu dois la construire avec des where paramétrés et tout ça ou des données en provenance de formulaires, c'est souvent plus pratique de la construire avant, c'est tout.
"Le Jeu est un défi de l'Intelligence à la Raison"
Le 09/07/2007 à 22h27
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
Ah ok. Chacun ses préférences après.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 15/07/2007 à 11h38
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
éh hop, encore une fois.
C'est juste une question.
Est-ce qu'il existe des protections à appliquer aux includes lorsqu'on fait appel à elles?
J'ai entendu dire qu'il existait des failles de sécurité à ça.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 15/07/2007 à 20h09
Paris
Nb Posts : 2007
La faille de sécurité, c'est par exemple si tu fais une page principale index.php et que tu inclus, dedans, une autre page qui serait passée en paramètre
Genre toutes tes pages sont du type index.php?page=newsletter et dans index.php, tu inclus newsletter.php par
include $_GET['page'];
Dans ce cas n'importe qui peut mettre ce qu'il veut dans l'adresse et obtenir éventuellement un fichier sensible de ton site. Dans ce cas il faut vérifier que ce que tu as en paramètre est bien quelque chose de "normal".
Mais dans les autres cas, tu n'as pas besoin de ce genre de chose.
"Le Jeu est un défi de l'Intelligence à la Raison"
Le 16/07/2007 à 06h50
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
Et si je fais include("fichier.php");
Ya t'il moyen de cracker ça? d'une quelconque manière. C'est pour un script extrêmement dangereux si quelqu'un d'autre y a accès. (il permet de supprimer des (classes de) catégories de mon forum.) évidemment ça supprime aussi tout les messages et tout les sujets inclut dedans.
Si n'importe qui y a accès (je parle de personne qui ont un minimun d'expérience dans le hacking.), autant dire que je n'ai jamais eu de forum.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 16/07/2007 à 19h58
Paris
Nb Posts : 2007
Il faut que tu t'arranges pour que ce fichier ne puisse pas être appelé indépendamment de la page dans laquelle tu l'inclus (protection de répertoire par exemple) et que son appel ne soit pas dépendant d'un paramètre qu'il y aurait dans l'adresse.
"Le Jeu est un défi de l'Intelligence à la Raison"
Le 16/07/2007 à 20h55
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
J'ai trouvé. Dans chaque dossier sensible, j'ai casé une page "index.html", pour éviter l'indexion des dossiers. Je l'aurais bien fait proprement avec
DirectoryIndex placé dans un .htaccess, mais free ne le supporte pas.
ça plus une variable qui rend dépendant l'affichage de l'include à la page, et c'est parfait.
pour info, la page index.html simule une erreur403.
Mais bon. plus ça va et plus je me rend compte que Free est limité. Je leur ai écrit d'ailleurs. Ils disent que pour l'URL-REWRITE, c'est mort, ils le feront jamais, mais que pour la fonction de htaccess, ya un espoir.
voilà .
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 20/07/2007 à 18h20
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
Preg_match cette fois.
Dans le but de sécuriser mon futur forum, j'aimerais vérifier qu'une variable ne contient que des chiffres et des underscores. Comment je peux faire, vu que si je fais :
if(preg_match("#[0-9]_+#", $variable))
il me retournera vrai même si dans la variable j'ai :
5_6jfgho_5.
S'il n'y avait que des chiffres, je ferais simplement :
if(preg_match("#\D#", $variable))
{
alors erreur;
}
else
{
alors ok;
}.

Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 20/07/2007 à 19h54
Paris
Nb Posts : 2007
Je suis pas vraiment douée en expressions rationnelles, mais essaye voir
preg_match("#[0-9_]+#", $variable)
Entre crochets, c'est la liste des caractères autorisés, il faut donc que le _ y soit.
"Le Jeu est un défi de l'Intelligence à la Raison"
Le 21/07/2007 à 12h55
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
C'est pas ça. Mais si j'avais voulu savoir si il contenais plusieurs "5_", c'était bon.
Non, en fait , c'était :
preg_match("#[\D\_]+#", $variable);
à traduire par : si tout les caractères sauf les chiffre (
\D), sauf les underscores.
\_.
voilà , c'est super.
édit:
Bin non en fait, je me suis trompé. l'antislashes, n'est la que pour annuler une action. En fait ce qu'il me faut c'est un symbole pour "sauf". Je vais me renseigner là -dessus.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 21/07/2007 à 13h11
Paris
Nb Posts : 2007
Ben, il n'y a pas de raison d'échapper le _ par \ dans les crochets (les seuls à y échapper sont les crochets eux-mêmes, le \ et le . je crois) Mon expression me semble toujours pas trop mal
"Le Jeu est un défi de l'Intelligence à la Raison"
Le 21/07/2007 à 15h50
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
Le problème avec ton expression, c'est qu'elle demande si chiffre + underscore est présent.
S'il y a en plus une parenthèse ou autre chose, il dira quand même que c 'est bon.
Or moi je veux vérifier qu'il n'y a que ça.
C'est pour me protéger contre les injections SQL, tu comprend?
Au fait, ya aussi le tiret, le ? et le + qui y echappe.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 22/07/2007 à 11h13
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
En fait, c'était tout bête.
if(preg_match("#^([\d_])\d$#", $variable)).
Et voilà .
Merci quand même.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 22/07/2007 à 12h59
Paris
Nb Posts : 2007
Ah ! Ben oui, les caractères de début et fin

LÃ tu ne pourras pas avoir plusieurs _ ni finir par _, c'est OK ? Il faudra remettre ton +, sinon.
"Le Jeu est un défi de l'Intelligence à la Raison"
Le 22/07/2007 à 20h22
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
hein? heu oui, c'est une coquille de ma part.
Par contre on peut quand même mettre deux
_ Ã la suite. C'est bizarre d'ailleur.
Mais c'est pas bien méchant je pense.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 22/07/2007 à 21h16
Paris
Nb Posts : 2007
Ben non, ça c'est normal.
Si tu as "#^([\d_])+\d$#" ça veut dire : n'importe quel chiffre ou _, répété tant qu'on veut, puis un chiffre pour finir.
___4859__584_5_8 est OK par exemple
4875546_ pas bon
"Le Jeu est un défi de l'Intelligence à la Raison"
Le 22/07/2007 à 22h10
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
Ah ok. Je trouve ça pas assez précis.
Mais bon, j'ai ce que je veux

.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 22/07/2007 à 22h37
Paris
Nb Posts : 2007
D'accord.
Si je vois bien ce que tu veux, tu pourrais faire quelque chose du genre
"#^\d(_)?\d$#"
Je ne sais plus si \d vaut pour n'importe quel chiffre (0 à 9) ou n'importe quel nombre (4859317 par exemple) Dans le premier cas il faudrait écrire :
"#^(\d)+(_)?(\d)+$#"
Tu te retrouves avec des suites de chiffres et éventuellement un underscore quelque part au milieu.
Je te conseille
cet excellent site de Regexp pour les prochaines, il est vraiment bien expliqué.
"Le Jeu est un défi de l'Intelligence à la Raison"
Le 23/07/2007 à 09h37
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
Merci pour le lien. J'y est trouvé ma réponse.
Le
A permet de vérifier si ce que je cherche est bien présent du début à la fin de la chaine, et ne retourne vrai que si c'est le cas.
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!
Le 03/08/2007 à 18h59
Utilisateur
Dans les Landes! Oy!
Nb Posts : 1034
Dites, comment vous avez fait pour contraindre une chaine sans espace à aller à la ligne en fin de bloc dans un post?
Tout est relativement absolu...
Tout est absolument relatif...
-----
http://delta14.daftbug4.free.fr/forum/ => rejoignez le projet Worms Kartmageddon vous aussi!