Su Q viene en dos partes, ambas soluciones Jeroen y anubhava de trabajo para parte I - denegar el acceso a/includes. anubhava también funciona para la parte II. Prefiero el último porque uso un DOCROOT/.htaccess
de todos modos y esto mantiene todo dicho control en un solo archivo.
Sin embargo, lo que quería discutir es el concepto de "denegar el acceso a submit.php
". Si no quiere usar submit.php
, ¿por qué tenerlo en DOCROOT? Sospecho que la respuesta aquí es que lo usa como un objetivo de acción en algunos formularios y solo desea que se dispare cuando se envía el formulario y no directamente, p. de un spambot.
Si esto es cierto, entonces no puedes usar la parte II de anubhava, ya que esto hará que tu formulario falle. Lo que se puede hacer aquí es (i) con el cheque .htaccess
para asegurar que el remitente era su propia página de índice:
RewriteCond %{HTTP_REFERRER} !=HTTP://www.domain.com/index.php [NC]
RewriteRule ^submit\.php$ - [F]
y (ii) dentro de su generador de formularios PHP index.php incluir algunos campos ocultos para una marca de tiempo y validación La validación podría ser, por ejemplo, los primeros 10 caracteres de un MD5 de la marca de tiempo y algún secreto interno. Al procesar el envío, puede (i) validar que la marca de tiempo y la coincidencia de validación, y (ii) la marca de tiempo está dentro de, digamos, 15 minutos de la hora actual.
Esto puede evitar el correo no deseado, ya que la única forma práctica en que un spammer podría obtener un par de validación/validación válido sería analizar un formulario, pero este raspado solo tendría una vida de 15 minutos.
¿Algún otro archivo podrá hacer una solicitud ajax al archivo presente en esa carpeta? –
@ChaitanyaChandurkar No, una solicitud de AJAX es una solicitud http normal, por lo que será denegada. – jeroen
Sr b/c I nueva programación web. ¿Cómo puedo agregar una excepción para acceder a mi archivo index.php? – PhatHV