Empecher interpretation code php par le navigateur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Empecher interpretation code php par le navigateur

par Sékiltoyai » 20 nov. 2008, 00:15

Je serais d'avis d'utiliser : http://fr.php.net/manual/fr/function.highlight-file.php

Ou alors j'ai rien compris =)
En effet, tu n'as rien compris :)

par thehawk » 19 nov. 2008, 20:03

Je serais d'avis d'utiliser : http://fr.php.net/manual/fr/function.highlight-file.php

Ou alors j'ai rien compris =)

par Hywan » 19 nov. 2008, 19:08

Est-ce que tu peux expliquer exactement ce que tu veux :) ?

par Invité » 19 nov. 2008, 17:07

merci à tous mais ce que j'avais en tete est tout bonneement impossible du au caractere client du javascript, je vais en faite passer par un bouton de upload de fichier et utiliser du php comme vous m'avez dit.

par zeus » 19 nov. 2008, 15:06

pourquoi tout séparer et détecter l'extension ?

Un ressource php qui fait un
echo file_get_contents( 'lenomdufichier.ext' );
te retournera le contenu du fichier, quelque soir son extension, donc sans interprétation ...

par allian » 19 nov. 2008, 15:04

je comprend bien vos solutions et elles sont facilement implémentables dans pleins d'autres cas mais dans ma situation vu que j'utilise un editeut all-javascript ca devient trés lourd de mettre en place ceci uniquement pour mes fichiers .php, du coup je dois d'abord identifier l'extension du fichier et dans le cas où ca serait du php il faudrait que je récupere le contenu du fichier avant de l'envvoyer au serveur et en faire une copie en .txt
Et donc quand je voudrais réouvrir ce meme fichier qui se trouvera alors sur le serveur il faudra ouvrir ma version en .txt en non plus la version .php

je sais pas si je me suis bien fait comprende mais en gros je possede deux méthodes Ouvrir dans mon projet, une qui permet d'ouvrir un fichier en local et de l'importer vers le serveur et une autre qui permet d'ouvrir un fichier qui est déja sur le serveur.

Merci :D

par Sékiltoyai » 19 nov. 2008, 02:29

C'est un peu comme vouloir modifier un document original par l'intermédiaire d'un fax. Tu n'en recevras que des copies. Et sans la collaboration de quelqu'un d'autre à l'autre bout du fil, c'est tout logiquement impossible.
Ah bon, le papier ne passe pas par le fil pour arriver jusqu'à nous ? :mrgreen:

par Berzemus » 19 nov. 2008, 00:28

Je pense pas.
Moi je pense, après avoir tout bien lu, et malgré l'heure tardive, que la seule solution est celle d'HyWaN et de Yaug.

Est-ce que tu connais un moyen de voir le code-source d'un site en php, avec ton navigateur ? Non. Tu ne peux pas, tu ne vois que le HTML généré, tout simplement parce que c'est tout ce que t'envoie le serveur. Rien d'autre.

Or donc, si tu veux avoir accès aux données de ces fichiers, une seule et unique solution, avoir un script côté serveur qui lui à les accès aux sources des fichiers, pour après te les transmettre, de la manière que tu veux.

Rien qu'avec javascript, c'est risiblement impossible, puisqu'il ne peut rien faire du côté serveur..

C'est un peu comme vouloir modifier un document original par l'intermédiaire d'un fax. Tu n'en recevras que des copies. Et sans la collaboration de quelqu'un d'autre à l'autre bout du fil, c'est tout logiquement impossible.

par yaug » 18 nov. 2008, 23:46

Hum.
J'ai du mal à comprendre.
Qu'est ce qui t'empéches au juste de pouvoir charger le fichier xxx.xx via un script php que tu appeles en ajax?

par Invité » 18 nov. 2008, 23:30

merci beaucoup pour les explications, j'avais compris que c'était le serveur qui interpreté du coup votre script marcherait bien si j'utilisait du php pour recuperer mon contenu mais en faite j'utilise du javascript du coup je peut pas l'utiliser, ou alors il faudrait que j'utilise XmlHTTPRequest pour envoyer des parametres à ce meme script à partir de ma page mais aprés parcontre je sais pas si je peut les récuperer dans cette meme page.

Je pense pas.

Donc je crois que c'est inutilisable dans mon cas, il faut que je voye si avec la méthode setRequestHeader je peut forcer l'entete du fichier et le traiter comme du simple texte ou alors je vais etre obligé de 'tricher' en faisant une copie temporaire du fichier en .txt :?

merci

par Hywan » 18 nov. 2008, 20:34

Hey :),

Ce n'est pas le navigateur qui interprète le code, mais le serveur. Attention, c'est une énorme différence !

La solution de yaug me paraît correct, mais j'utiliserais echo à la place de die(), c'est plus correct (ça t'éviteras des comportements bizarres si tu as des includes ;-)).

Sinon, je récupérerais le contenu du fichier (via file_get_contents() par exemple), et j'afficherais via echo, mais en utilisant la fonction hmlspecialchars() ou htmlentities() par exemple, histoire d'être sûr.

par yaug » 18 nov. 2008, 17:21

hum.
ton ajax fait quoi, il appele directement le fichier ?
Ou il appele un fichier exemple.php qui lui fera un file_get_content ?

En fait.
Si tu tape directement sur tonfichier.php celui ci sera interprété par le serveur (et non pas le navigateur du client).

Pour ne pas avoir d'interpretation fait toi un script php qui pourrait fonctionner comme ceci :
<?php
$file = $_POST['file'];

if(empty($file) || !is_file($file)) die("");

$content = file_get_content($file);
die($content);

?>
Ceci n'est qu'un exemple.
Mais ce qui est sur c'est que tu ne peux pas appeler directement le fichier sinon il sera interprété par le serveur.

par allian » 18 nov. 2008, 17:14

avec du AJAX

par yaug » 18 nov. 2008, 17:10

hum.
Bossant actuellement sur un éditeur / manipulateur de fichier.. je vois mal comment tu peux arriver à une telle solution.

Comment récupère tu le contenu de ton fichier au juste?

Empecher interpretation code php par le navigateur

par allian » 18 nov. 2008, 17:07

Bonjour,
j'aurais besoin de votre aide. Je m'explique, sur une page php j'ai un editeur WYSIWYG en javascript qui peut ouvrir des fichiers sur le serveur de type html, css, php, xml... le probleme que je rencontre est que lorsque j'ouvre un fichier Php (test.php) le navigateur interprete le code en affichant le résultat,par exemple :

<?php echo"salut"; ?>

dans mon editeur j'obtiens uniquement salut

du coup pour un editeur qui doit permettre de modifier ses fichiers sources, c'est un peu un probleme.

Quelqu'un connait il une fonction ou une astuce afin d'empecher le navigateut d'interpreter mon code ??

Merci beaucoup

:D