tkof
Messages postés35Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention31 janvier 2012 20 sept. 2004 à 04:53
Les fonctions sont basique !
Mais rien ne vaut les fonctions strip_tag (vire les balise html) ou plus encore !
Pr mes sites j'ai un fichier de fonctions qui me permet de securiser plusieurs type de chaines caratère selon leur emplacement (input, textarea ou autre)
Pense a mettre dans tes fonctions la gestion des magic quote etc....
Mais c'est pas mal si déja tu pense a te faire des fonctions pr ça t'es sur la bonne voie lol !
Et c'est encore mieux de faire partager ton code...
Si y a des demandes je filerai des exemples de mes fonctions (j'en ai fait environ 10)
Juste pr les chaines de caratère, les verifier (avec des palier de securité différent etc...)
pgpp
Messages postés58Date d'inscriptiondimanche 16 mai 2004StatutMembreDernière intervention 2 septembre 2004 19 mai 2004 à 08:15
Pour éviter l'accumulation de elseif dans ton code, tu peux utiliser l'astuce suivante (optimisée) :
function zeFunction($param)
{
static $t=new Array('01'=>'One','02'=>'Two','03'=>'Three','Z'=>'Zed');
return($t[$param]);
}
cs_Houzefa
Messages postés453Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 9 juillet 20042 9 juil. 2003 à 23:59
ah non ya encore des bugs de PHPCS tous mes antislashes il les vire !!
la source est pas trop longue c'est en bas dans les dernières lignes
cs_Houzefa
Messages postés453Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 9 juillet 20042 9 juil. 2003 à 23:57
arf ! je me suis trompé dans le premier code (le + court) c'est pas :
src="../smileys/1"
mais :
src="smileys/1"
jl'avais corrigé dans le truc détaillé et j'ai oublié dans l'original.
au fait ya des "grands espaces" affichés (un bug de PHPCS) : n'en tien pas compte en fait fo juste mettre un espace entre chaque token.
cs_Houzefa
Messages postés453Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 9 juillet 20042 9 juil. 2003 à 23:53
Pour nicolas66 : dans mon forum j'ai rajouté un petit quelque chose qui ressemble à du bbcode, et tu peux le réutiliser facilement.
Pour ajouter un smiley dans le message, le visiteur écrit :
<smiley: 00000124.gif fin_smiley>
en fait avec un javascript c plus simple pour le visiteur :)
Pour ajouter un lien :
<lien: http://www.123toto.com fin_lien>
toujours plus simple avec un petit javascript avec un prompt();
Donc ça c'est pour quand le visiteur écrit son message.
Ensuite lors de l'affichage du message :
<?= ereg_replace("<lien: ([^>]*) fin_lien>", "[\1 \1]", ereg_replace("<smiley: ([^>]*) fin_smiley>", "", stripslashes(nl2br(htmlentities($message))))) ?>
permet d'aboutir au résultat en évitant le hacking, puisque j'utilise des fonctions de PHP qui reviennent à peu près au meme que la fonction protect() de BlackWizzard.
Ca c'est ce que j'avais fait dans mon code, mais je l'ai détaillé ci-dessous à la manière de BlackWizzard pour que ca paraisse + simple :
<?
$message=ereg_replace("<lien: ([^>]*) fin_lien>", "[\1 \1]", $message); // Pour faire des liens
$message=ereg_replace("<smiley: ([^>]*) fin_smiley>", "", $message); // Les smileys sont dans le dossier "smileys"
$message=stripslashes(nl2br(htmlentities($message))); // Pour empecher le hacking
echo $message; // Ben oui faut l'afficher ! Dans le code + haut j'avais fait ca avec le "=" collé au point d'interrogation du début du script
?>
nicolas66
Messages postés116Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention 4 janvier 2009 9 juil. 2003 à 22:55
Bah moi je dis ça pcq voir 31 fois la meme chose, pour moi c un peu zarb .. Fodrai essayé de voir le temps de chargement de la page version opt et non opt, si tu veu on fé la course lol. Jdéconne mé le principal c ke ca marche c sur :).
j'en pense que j'en ai pas l'utilité mdr!
mais si tu vx le faire, te gene pas :p
nicolas66
Messages postés116Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention 4 janvier 2009 9 juil. 2003 à 22:19
Salut
Moi je pense que ton code peut être largement optimisé surtt en ce qui concerne la partie des smileys et bbcode ([gras] ... /gras par ex) par une tiote REGEX hehe. Je m'y suis intéressé de près car je suis en train de faire un forum :). Fais donc une table smileys, le paramétrage est plus lourd d'1 côté, mais l'avantage c ke les lignes de codes sont largement moins importantes, et la possibilité de rajouter ou d'enlever des smileys n'est pas négligeable !! Qu'en penses-tu ?
cs_Houzefa
Messages postés453Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 9 juillet 20042 27 avril 2003 à 16:10
Plutot que tous les elseif tu pourrais utiliser des select case.
cs_Dean
Messages postés500Date d'inscriptionmardi 16 avril 2002StatutMembreDernière intervention 2 août 2004 2 août 2002 à 01:20
Pourquoi tu passes les arguments par référence ?
Enlève donc les "&".
20 sept. 2004 à 04:53
Mais rien ne vaut les fonctions strip_tag (vire les balise html) ou plus encore !
Pr mes sites j'ai un fichier de fonctions qui me permet de securiser plusieurs type de chaines caratère selon leur emplacement (input, textarea ou autre)
Pense a mettre dans tes fonctions la gestion des magic quote etc....
Mais c'est pas mal si déja tu pense a te faire des fonctions pr ça t'es sur la bonne voie lol !
Et c'est encore mieux de faire partager ton code...
Si y a des demandes je filerai des exemples de mes fonctions (j'en ai fait environ 10)
Juste pr les chaines de caratère, les verifier (avec des palier de securité différent etc...)
19 mai 2004 à 08:15
function zeFunction($param)
{
static $t=new Array('01'=>'One','02'=>'Two','03'=>'Three','Z'=>'Zed');
return($t[$param]);
}
9 juil. 2003 à 23:59
donc si tu veux le vrai bon code c'est la :
http://www.123toto.com/codes.php?source=forum/lire.php
la source est pas trop longue c'est en bas dans les dernières lignes
9 juil. 2003 à 23:57
src="../smileys/1"
mais :
src="smileys/1"
jl'avais corrigé dans le truc détaillé et j'ai oublié dans l'original.
au fait ya des "grands espaces" affichés (un bug de PHPCS) : n'en tien pas compte en fait fo juste mettre un espace entre chaque token.
9 juil. 2003 à 23:53
Pour ajouter un smiley dans le message, le visiteur écrit :
<smiley: 00000124.gif fin_smiley>
en fait avec un javascript c plus simple pour le visiteur :)
Pour ajouter un lien :
<lien: http://www.123toto.com fin_lien>
toujours plus simple avec un petit javascript avec un prompt();
Donc ça c'est pour quand le visiteur écrit son message.
Ensuite lors de l'affichage du message :
<?= ereg_replace("<lien: ([^>]*) fin_lien>", "[\1 \1]", ereg_replace("<smiley: ([^>]*) fin_smiley>", "", stripslashes(nl2br(htmlentities($message))))) ?>
permet d'aboutir au résultat en évitant le hacking, puisque j'utilise des fonctions de PHP qui reviennent à peu près au meme que la fonction protect() de BlackWizzard.
Ca c'est ce que j'avais fait dans mon code, mais je l'ai détaillé ci-dessous à la manière de BlackWizzard pour que ca paraisse + simple :
<?
$message=ereg_replace("<lien: ([^>]*) fin_lien>", "[\1 \1]", $message); // Pour faire des liens
$message=ereg_replace("<smiley: ([^>]*) fin_smiley>", "", $message); // Les smileys sont dans le dossier "smileys"
$message=stripslashes(nl2br(htmlentities($message))); // Pour empecher le hacking
echo $message; // Ben oui faut l'afficher ! Dans le code + haut j'avais fait ca avec le "=" collé au point d'interrogation du début du script
?>
9 juil. 2003 à 22:55
9 juil. 2003 à 22:22
mais si tu vx le faire, te gene pas :p
9 juil. 2003 à 22:19
Moi je pense que ton code peut être largement optimisé surtt en ce qui concerne la partie des smileys et bbcode ([gras] ... /gras par ex) par une tiote REGEX hehe. Je m'y suis intéressé de près car je suis en train de faire un forum :). Fais donc une table smileys, le paramétrage est plus lourd d'1 côté, mais l'avantage c ke les lignes de codes sont largement moins importantes, et la possibilité de rajouter ou d'enlever des smileys n'est pas négligeable !! Qu'en penses-tu ?
27 avril 2003 à 16:10
2 août 2002 à 01:20
Enlève donc les "&".
31 juil. 2002 à 01:59
C le module dont je me sert sur mon site que G copié-collé.
reesai le ou utilise le mieux! :p
31 juil. 2002 à 00:32
function protect($param) {
$pouet=$param;
$pouet= str_replace("<","<",$pouet);
$pouet= str_replace(">",">",$pouet);
$pouet= str_replace("\n","
",$pouet);
// je pige pa a koi servent les 2 la ...
$pouet= str_replace(" "," ",$pouet);
$pouet= str_replace(" "," ",$pouet);
return $pouet;
}
les autres j'ai pa encore regardé masi si y'a les memes ptites erreurs partout ... =)