размещение php-скрипта вне сайта root

как бы ia) включить php-скрипт, который находится за пределами корня веб-сайта (действительно ли это было бы просто просто ./file.php), б) отправить данные формы в php-скрипт вне корня веб-сайта. Я убежден, что это краеугольный камень для безопасности php.

A) если ваш веб-корневой каталог / www / myapp / public_html, то ваш public_html / index.php может включать скрипты вне корневого веб-сайта, делая

require '../includefolder/script.php" 

B) Вы не можете публиковать данные непосредственно в скриптах вне корневого каталога. Все дело в том, чтобы переместить их туда, чтобы не было прямого доступа к ним; все должно пройти вместе с ними из ваших доступных скриптов, которые отображаются в вашем веб-корне.

в том числе скрипт, который находится за пределами webroot, прост: вы будете делать то же самое, что и для скрипта, который находится под webroot:

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

Тот, который вы предпочитаете 😉
Я бы пошел за последним, personnaly, хотя.

Публикация сценария, находящегося за пределами веб-сайта, невозможна: этот скрипт не может быть использован Apache (Apache только обслуживает то, что находится внутри веб-корня) .

Таким образом, этот сценарий не может быть доступен через HTTP; что означает, что он не может быть доступен из браузера.

Но если вы отправляете на PHP-скрипт, который находится внутри webroot, и этот скрипт включает в себя еще один, который находится за пределами webroot, тогда код в этом втором файле будет выполнен в качестве первого скрипта. Это означает, что он будет иметь доступ к данным $_POST – данные, введенные в форму.

  1. Вот и все. Относительные пути.
  2. Если это связано с вашим предыдущим вопросом (вы включаете этот файл в), то суперглобалы, такие как $_POST , доступны во включенных файлах без каких-либо дополнительных усилий