Aller au contenu

Inclure un nom de repertoire


Sujets conseillés

Posté (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é par ea34
Posté

Salut

je souhaite inclure l'adresse URL de la page dans son contenu

que faut il tapper

$url = ??????

echo $url

Posté

Bonjour,

En utilisant explode correctement, ça va tout de suite mieux:

$pathEls = explode('/',$str);

Dan ;)

Posté
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 ?

Posté

$_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 ????

Posté

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.

Posté
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) ???

Posté

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

Posté

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

Posté

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 :)

Posté

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__.

Posté

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.

Posté

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.

Posté

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 ....

Posté
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 .

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...