2015-12-27 6 views
0

У меня есть файл php, который записывает определенные значения в мою базу данных. Я выполняю этот файл каждые 20 секунд с помощью CRON, но я не хочу, чтобы кто-то мог перейти к местоположению этого файла и выполнить его из Интернета. Я установил права доступа к файлам 644, но я все еще могу перейти на сайт website.com/phpfile.php и записать данные в базу данных. Как я могу запретить публике выполнять скрипт?Исправить права доступа к файлам PHP, которые не позволяют публике выполнить

+0

Err, выложить его за пределы webroot? – frz3993

+0

Да, я думаю, я могу это сделать, мне просто интересно, почему 644 не будет работать. – Darkstar

ответ

1

В типичной установке, используемой в наши дни, сценарий php не требует, чтобы бит разрешения выполнения исполнялся http-сервером. Это потому, что запрос не запускается, скрипт - это процесс, основанный на операционной системе. Вместо этого http-сервер только считывает файл и передает содержимое в загружаемый в модуль модуль php. Таким образом, единственное разрешение, которое требуется, - это то, что процесс http-сервера может читать скрипт.

Все будет иначе, если вы используете php с помощью CGI, а не как модуль http-сервера. Но это имеет серьезное ограничение производительности, именно потому, что новый процесс необходимо раздвоить для каждого запроса.

 Смежные вопросы

  • Нет связанных вопросов^_^