У меня есть файл php, который записывает определенные значения в мою базу данных. Я выполняю этот файл каждые 20 секунд с помощью CRON, но я не хочу, чтобы кто-то мог перейти к местоположению этого файла и выполнить его из Интернета. Я установил права доступа к файлам 644, но я все еще могу перейти на сайт website.com/phpfile.php и записать данные в базу данных. Как я могу запретить публике выполнять скрипт?Исправить права доступа к файлам PHP, которые не позволяют публике выполнить
0
A
ответ
1
В типичной установке, используемой в наши дни, сценарий php
не требует, чтобы бит разрешения выполнения исполнялся http-сервером. Это потому, что запрос не запускается, скрипт - это процесс, основанный на операционной системе. Вместо этого http-сервер только считывает файл и передает содержимое в загружаемый в модуль модуль php
. Таким образом, единственное разрешение, которое требуется, - это то, что процесс http-сервера может читать скрипт.
Все будет иначе, если вы используете php
с помощью CGI
, а не как модуль http-сервера. Но это имеет серьезное ограничение производительности, именно потому, что новый процесс необходимо раздвоить для каждого запроса.
Err, выложить его за пределы webroot? – frz3993
Да, я думаю, я могу это сделать, мне просто интересно, почему 644 не будет работать. – Darkstar