как бы 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
– данные, введенные в форму.
$_POST
, доступны во включенных файлах без каких-либо дополнительных усилий