ea34 Posté 6 Décembre 2005 Posté 6 Décembre 2005 (modifié) Salut je souhaite a partir d'une adresse url afficher le répertoire se trouvant apres le 1er / voici une piste mais qui ne fonctionne pas <?php $str = 'www.machin.com/Agdfg/Bdfgdfg/Cxcxcvbx/D'; $pathEls = explode($str, '/'); echo $pathEls[1]; ?> si quelqu'un a une idee je suis preneur est il possible de le faire également pour le répertoire se trouvant après le 2eme / , 3eme ... Modifié 6 Décembre 2005 par ea34
ea34 Posté 6 Décembre 2005 Auteur Posté 6 Décembre 2005 Salut je souhaite inclure l'adresse URL de la page dans son contenu que faut il tapper $url = ?????? echo $url
Dan Posté 6 Décembre 2005 Posté 6 Décembre 2005 Bonjour, En utilisant explode correctement, ça va tout de suite mieux: $pathEls = explode('/',$str); Dan
Dan Posté 6 Décembre 2005 Posté 6 Décembre 2005 je souhaite inclure l'adresse URL de la page dans son contenu que faut il tapper $url = ?????? echo $url Tout simplement avec un "echo $PHP_SELF;" , non ?
ea34 Posté 6 Décembre 2005 Auteur Posté 6 Décembre 2005 $_SERVER["PHP_SELF"] ok ca marche un grand merci une derniere petite question certain preconnise pour faire une include d'utiliser <?php include ($_SERVER['DOCUMENT_ROOT'].'/includes/title.php'); ?> plutot que <?php include ('/includes/title.php'); ?> Quel est l'intéret ????
Dan Posté 6 Décembre 2005 Posté 6 Décembre 2005 En préfixant l'include par $_SERVER['DOCUMENT_ROOT'] on interdit l'include des fichiers qui sont hors de l'espace web du site. Encore faut il que le nom du fichier annexé au $_SERVER['DOCUMENT_ROOT'] ne contienne pas de "../" qui permettrait de remonter dans l'arborescence. En mettant un chemin absolu, on est à mon avis plus tranquille.
ea34 Posté 6 Décembre 2005 Auteur Posté 6 Décembre 2005 Encore faut il que le nom du fichier annexé au $_SERVER['DOCUMENT_ROOT'] ne contienne pas de "../" <{POST_SNAPBACK}> un nom de fichier ne peut pas contenir de / ???? c'est un caractere interdit (et meme impossible) ???
Dan Posté 6 Décembre 2005 Posté 6 Décembre 2005 Non, on parle du nom complet, avec le chemin qui mène au fichier. Comme par exemple /home/login/www/repertoire/fichier.inc.php . Ce nom est parfaitement valide sous Linux et peut être utilisé dans un include(). Mais un nom tel que ../../../etc/passwd est lui aussi valide; c'est à ces ../ que je faisais allusion. Dan
ea34 Posté 6 Décembre 2005 Auteur Posté 6 Décembre 2005 ok lol En préfixant l'include par $_SERVER['DOCUMENT_ROOT'] on interdit l'include des fichiers qui sont hors de l'espace web du site ca sert a quoi d'interdire cela
Dan Posté 6 Décembre 2005 Posté 6 Décembre 2005 Ca sert à interdire d'inclure des fichiers système qui concernent la sécurité du serveur, ou d'inclure des fichiers qui appartiennent à quelqu'un d'autre dans le cas de serveurs mutualisés. Il faut toujours sérieusement bétonner le code des includes, et je jamais faire d'include de fichier si le nom a été saisi par un utilisateur. Ou alors être sûr que le code a tout prévu, les hackers sont inventifs
ea34 Posté 7 Décembre 2005 Auteur Posté 7 Décembre 2005 est ce que $_SERVER['DOCUMENT_ROOT'], peut n'avoir aucun rapport avec l'emplacement du site sur le système de fichiers. ne faut-il mieux pas définir une constante à partir de __FILE__.
Dan Posté 7 Décembre 2005 Posté 7 Décembre 2005 Si l'emplacement du site est défini par un lien symbolique, $_SERVER['DOCUMENT_ROOT'] donnera ce lien symbolique... qui sera suivi aussi bien par Apache que par le système d'exploitation. C'est donc une référence précise si Apache et les VirtualHost sont correctement configurés.
Anonymus Posté 8 Décembre 2005 Posté 8 Décembre 2005 Tout ce qui lui passe par l'imagination, tant qu'il en a les compétences. La sécurité, c'est de penser à ce que peut faire une personne mal intentionnée, pour savoir faire en sorte qu'il ne puisse agir.
ea34 Posté 9 Décembre 2005 Auteur Posté 9 Décembre 2005 ben justemen,t il peut faire quoi par exemple car quand on ne si connait pas on imagine meme pas ce qui peut etre fait c'est quel genre de truc ? pas des virus ??? il affiche ces pages a la place des pages du site piraté ?? il entre dans le ftp, mais la ca na rien a voir avec le php ??? il efface les fichiers??? Ca peut aller d'ou et jusqu'ou ??? quel sont les risque concret pour un site, cela arrive t il souvant? est ce que c'est quelqu'un qui n'aime pas la personne ou c'est au hazard? quel sont les critere des site piraté généralements ....
Dudu Posté 9 Décembre 2005 Posté 9 Décembre 2005 quel sont les critere des site piraté généralements .... Franchement aucun. Çà peut être parce que le hacker n'aime pas le site (cf les cas de défacement du site de la Maison Blanche, ou du journal Libération en France), çà peut être par pur hasard parce qu'un hacker (qui est avant tout un internaute) est tombé en surfant sur un site et qu'il a détecté une faille de sécurité. Les failles exploitées généralement sont les formulaires qui ont, coté serveur, un accès direct à la base de données. Pour se protéger, cela dépend du type d'action du formulaire, mais il faut apprendre à bien délimiter ce que l'on souhaite autoriser à l'internaute et ce qu'on ne souhaite pas (un simple array), il faut aussi éviter de laisser envoyer de l'HTML ou des requêtes SQL (là encore un simple htmlentities), bien configurer les CHMOD.. Pour le cas des hacks par FTP, 99% des cas trouvent leur explication dans un mot de passe trop simple. Exemple de mauvais mot de passe: un nom commun, une date de naissance, le prénom du chien, le même mot que le login (rigolez pas, on voit çà souvent), le verlan du login, etc.. Exemple de bon mot de passe: une combinaison de lettres, de chiffres, de caractères spéciaux de 8 ou 9 lettres minimum.. Pour en revenir à ton histoire, privilégies dans ton cas de bien délimiter quel type de fichiers il est possible d'uploader, et le répertoire dans lesquels les dit fichiers doivent être envoyés. Et s'il t'était possible de faire un petit effort sur l'orthographe ce serait très appréciable: tu es dur à lire Merci .
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant