prévenir directement l'url d'accès au fichier php
J'ai un fichier php dire "check.php" dans mon site web et il est exécuté quand le formulaire est soumis.
dire que mon site est "myweb.com" et le fichier php est dans un répertoire "PHP"
Je veux éviter url directe de l'accès à l' "check.php" fichier c'est à dire si quelqu'un tape l'url "myweb.com/PHP/check.php" ,puis le fichier php ne doit pas être exécuté et il doit retourner un message d'erreur à la place.
J'ai essayé d'empêcher l'accès par la définition d'une règle .htaccess ,mais il bloque le php, même quand j'essaie d'envoyer le formulaire.
.htaccess à la règle :
RewriteEngine on
RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/
(.*)\.php$ /index.html [L]
Est-il possible de le faire ?
OriginalL'auteur It Assistors | 2015-11-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire avec PHP
désolé à ce sujet - j'espère que ça ferait l'affaire. Toutefois, @Starkeen de la méthode d'utilisation de la
.htaccess
fichier est probablement mieux ~ bien que l'utilisation de PHP ne permet pas de faire d'autres choses avant de rediriger l'utilisateur - ie: journal le coup de la db etcvotre méthode a fonctionné comme un charme. J'ai juste appliqué un peu d'éditer au lieu de $_SERVER['REQ......] == 'GET' que j'ai utilisé .... != 'POST' comme je l'ai utiliser la méthode post et il devrait afficher le message d'erreur uniquement si la demande n'est pas 'post' je Vous Remercie...
OriginalL'auteur RamRaider
Mettre ce code en haut de la check.php:
Si l'utilisateur l'accès check.php par tapez directement l'URL, il va les rediriger vers l'emplacement de votre choix.
OriginalL'auteur Westly Tanbri
Essayer dans la Racine/.htaccess :
Ce sera le retour de 404 not found si check.php n'est pas accessible par la méthode post de formulaire.
Ouais vous le supprimer de l'assigner à un autre fichier, ou tout simplement le type de la racine entre le ^ et le $.
Ce n'est pas une solution en tant que méthode post peut être facilement usurpée à côté client.
OriginalL'auteur starkeen
J'ai essayé la réponse sélectionnée mais j'ai rencontré quelques problèmes de mise en œuvre, surtout si je voulais les valeurs de retour des fonctions à l'intérieur du fichier PHP à l'aide de GET avec l'Ajax.
Après de faire assez d'une recherche poussée sur les autres solutions (et un peu de tests de mon propre), je suis venu avec le code suivant:
J'ai trouvé que le code ci-dessus a fonctionné comme je le voulais et je ne pense pas qu'il aurait eu des problèmes avec plusieurs navigateur, comme les autres, la réponse a été signalé à avoir. Aussi, je ne pense pas que cela aurait des problèmes de sécurité, mais je peux me tromper (s'il vous plaît dites-moi si je suis (et pourquoi), je suis relativement nouveau à la programmation web.
Juste ajouter que le code en haut de chaque fichier que vous souhaitez bloquer directement l'URL d'accès (avant tout, et même exige, comprend et session_starts) et vous êtes bon pour aller.
OriginalL'auteur Martin Koch
c'est ce que google utilise dans leur php exemples
OriginalL'auteur Toskan
Essayer celui-là aussi. Passé dans le haut de check.php
"Accès Refusé" s'est présenté lorsque le fichier est accessible directement dans l'url
OriginalL'auteur icynets