question a 2 balles - PHP - Programmation
Marsh Posté le 06-03-2006 à 17:25:56
jokari34 > Si tu veux que php traite les fonction comme des fonctions et pas comme un "mot perdu dans une phrase" alors il faut la mettre hors de la phrase.
par exemple : echo "programme de l'année ".date('Y');
qui affichera"programme 2006"
Et en passant, fait pareil avec tous les noms de variables perdus dans une phrase. Ca t'évitera de revenir nous voir le jour où il y en aura une qui sera pas transformé comme il faut.
Marsh Posté le 07-03-2006 à 08:38:30
j'ai deja un echo dans mon script php :
echo $objet->machaine
et dans la base ya bien : "programme".date("Y" )
et ca marche pas.
ca m''affiche exactement la chaine sans interpreter date("Y" )
...
Marsh Posté le 07-03-2006 à 08:47:48
Un peu normal aussi ... qu'est-ce qu'il en sait lui que le truc que tu retourne de ta base est une chaine ?.
Deja le principe de stoquer du php dans une db est debile, mais en plus si apres tu te prend les pieds dedans .. Cherche la fonction qui permet d'executer une chaine
Marsh Posté le 07-03-2006 à 10:05:04
que ce soit debile ou pas c pas mon probleme.
on me demande de mettre cette chaine avec du PHP inclu, dans un champs parce que faut que l'affichage affiche tout seul l'année système.
Marsh Posté le 07-03-2006 à 10:07:08
Bah voila, alors je t'ai dit comment faire, maintenant tu cherches et tan pis si la solution est debile et dangeureuse parceque créant des trou de secu
Marsh Posté le 07-03-2006 à 18:20:59
eval()
va interprété une chaine comme du PHP. Voila une belle faille de sécu.
Marsh Posté le 07-03-2006 à 18:30:21
Autres solutions :
- faire comprendre les risques au patron (ne pas hésiter à faire peur en indiquant les dégats qu'il serait possible de faire) et proposer à la place un systéme de mot clé un peu comme le systéme des ubbcode sur les forum.
- se montrer bête et méchant et analyser le texte pour remplacer simplement le '.date("Y" )' du texte par l'année courante. Ne pas hésiter à extraire la chaine entre parentaise pour pas être obliger de recoder la fonction "date()".
En tout cas, eval() est l'une des pire fonctions existante dans php et elle n'est vraiment à n'utiliser que quand il n'existe strictement aucune autre solution.
Marsh Posté le 07-03-2006 à 18:34:09
str_replace ('date("Y" )', date("Y" ), $str)
de tête il faudrait vérifier les paramètres.
Marsh Posté le 07-03-2006 à 18:47:29
Non mais c'est interessant comme architecture ... c'est tres "clef en main" je trouve .... :
Tu mets le site up, un gars t'injecte un coup de SQL dans la base parceque le patron voulais qu'on puisse executer du SQL depuis l'interface, tu change le date() en un script qui lit les repertoires systeme et les envoie par mail (ou les ecrits sur sur un serveur distant) ou mieu encore il fous un exec() , 10 min apres notre charmant injecteur de SQL se retrouve avec non seulement l'acces a la base de donnée, mais aussi au serveur PHP , et si l'admin a suivi les memo du patron, il aura lancé apache avec les droits de root et sans chroot cage, donc notre charmant luron aura acces root au systeme entier. Ensuite il se fera un plaisir de faire un pti ssh dessus, changera le mdp root et fera encore quelques blagues.
Resultat : Le patron sera tout content parcequ'il se retrouvera 1 serveur totalement HS, et vu qu'il voulais pas que ça fasse du bruit dans ses locaux, le serveur est en tailande et il lui faudra 1 semaine avant de pouvoir avoir a nouveau la main dessus.
J'hyperbolise un peu mais tu vois le genre
Marsh Posté le 07-03-2006 à 18:57:12
esox_ch
Et le pire, c'est que c'est le genre de truc qu'est surement arrivé à certain.
Marsh Posté le 08-03-2006 à 08:17:52
L'autre jour j'ai lu le topic de securité Wifi dans OSA (tres bien fait d'ailleurs), a partir de 2 failles le mec a recuperer l'acces admin a toutes les machines du reseau, y compris le routeur meme ... Donc a mon avi ca peut tres bien arriver
Marsh Posté le 08-03-2006 à 10:54:37
Le mois dernier, je suis passé au "surcouf Haussman". En routeur gibabit, ils n'avaient qu'un seul modéle qui faisait pas wifi. (sic) Vu la sécurité du wifi quand on s'y conait pas, (voire quand on s'y conait aussi) je crainds le pire pour les ménages francais et un certain nombre d'entreprises.
La où je bosses, en fonction des conditions météo, on a jusqu'a deux réseaux wifi non sécurisé qui se baladent jusqu'a nos locaux. Je me demande d'ailleur dans quel immeuble se trouve les routeurs Wifi de ces deux réseaux là.
Enfin bref, il y a déjà sufisament de faille comme ça sans en rajouter inutilement.
Marsh Posté le 08-03-2006 à 11:01:09
Je pensais qu'un cryptage en WPA avec une phrase de 40caractères s'était suffisant
Marsh Posté le 08-03-2006 à 11:15:14
gatsu35 a écrit : Je pensais qu'un cryptage en WPA avec une phrase de 40caractères s'était suffisant |
Regarde le wifi chez free, ils en sont encore à utiliser une clef WEP.
Regarde du côté des particuliers. Quasiment personne (en dehors des informaticiens) ne saura faire la différence entre une clé WEP et une clé WPA (même moi je saurais pas les reconaitre même si je sais que le WPA est sensé être plus sécurisé) et trés nombreux sont ceux qui ne savent même pas qu'il faut mettre une clé pour éviter que n'importe qui se conecte sur son réseau personel.
Marsh Posté le 08-03-2006 à 11:21:35
simple :
WEP tu as une clé, mais le cryptage est unique pour toute la connexion wifi d'une machine à une autre
WPA tu as une clé longue, tu peux soit comme le wep mette AAFB343435242BFE ou mettre une phrase : "coincoinestunjolicanardjaune"
mais a la difference du WEP, chaque paquet est encrypté avec une clé différente pendant les échanges. Je sais pas comment c'est goupillé, mais ça marche plutôt bien apparament
Marsh Posté le 08-03-2006 à 12:18:21
de la lecture :
http://www.commentcamarche.com/wifi/wifisecu.php3 le wep est dedans
et pour le WPA :
http://www.commentcamarche.com/wifi/wifi-wpa.php3
Marsh Posté le 08-03-2006 à 12:47:10
Bein c'est un peu le systeme de clef publique pour le wpa et de clef privée pour le wep .. non?
Marsh Posté le 06-03-2006 à 17:04:46
j'ai une chaine dans une base de données et je voudrais que son contenu soit interpeté.
exemple "programme de l'année date('Y') " doit afficher dans la page "programme 2006"
je sais c une question 2 balles mais bon...