colocando script php fuera de la raíz del sitio web

¿cómo ia) incluiría un script php que está fuera de la raíz web (sería realmente un simple ../file.php), b) publicar datos de formulario en un script php fuera de la raíz web. Me hacen creer que esta es la piedra angular de la seguridad de php.

A) si su raíz web es / www / myapp / public_html, su public_html / index.php podría incluir scripts fuera de la raíz web haciendo

require '../includefolder/script.php" 

B) No puede publicar datos directamente en las secuencias de comandos fuera de la raíz web. El objective de moverlos allí es que no haya acceso directo a ellos; todo debe transmitirse a ellos desde sus scripts accesibles que están expuestos en su raíz web.

incluir un script que está fuera de la webroot es fácil: harás de la misma forma que lo harías con un script que está debajo de la raíz web:

 include '../myscript.php'; include '../library/myscript.php'; include dirname(__FILE__) . '/../library/myscript.php'; 

El que prefieres 😉
Yo iría por el último, personalmente, sin embargo.

No es posible publicar un script que esté fuera de la webroot: ese script no puede ser servido por Apache (Apache solo sirve lo que está dentro de la raíz web) .

Por lo tanto, no se puede acceder a esa secuencia de comandos a través de HTTP; lo que significa que no se puede acceder desde / por el navegador.

Pero si está publicando en un script PHP que está dentro de la raíz web, y ese script incluye otro que está fuera de la webroot, entonces el código en ese segundo archivo se ejecutará como el primer script. Lo que significa que tendrá acceso a los datos $_POST , los datos escritos en el formulario.

  1. Eso es. Caminos relativos
  2. Si esto está relacionado con su pregunta anterior (está incluyendo este archivo), los superglobales como $_POST están disponibles en los archivos incluidos sin ningún esfuerzo adicional.