2013-07-31 4 views
0
остальное

Это проблема:Разрешить публичный доступ только к одному PHP скрипт и отрицать

У меня есть этот сайт с этой структурой:

php (folder) 
css (folder) 
js (folder) 
index.php 

В index.php, я использую функцию include() PHP чтобы включить файлы, находящиеся внутри папки php, и я делаю то же самое в других файлах, которые находятся внутри папки php.

У меня есть файл .htaccess в папке php с этим контентом: deny from all, поэтому, если я попытаюсь получить доступ к одному файлу в папке php из браузера, я получу 403 (запрещенную) ошибку (это нормально)

Проблема в том, что мне нужно сделать запрос Ajax из js-файла (в папке js), и когда я хочу это сделать, я получаю ту же ошибку 403. Я пытался поставить в .htaccess:

<Files saveComment.php> 
    allow from all 
</Files> 

и теперь он работает, но кто-то может получить доступ к файлу из браузера и возиться с моей базой данных (файл Сохранить «комментарии» в базе данных)

Любой Помогите? БЛАГОДАРЯ!

ответ

0

С вашей настройкой я бы рекомендовал маршрутизировать все запросы в ваш файл index.php. Таким образом, вместо saveComment.php вы бы /comments/save в свою очередь, внутренне выполнить содержимое saveComment.php

Причиной этого является, потому что, как только вы установите deny в каталог, используя .htaccess то она будет применяться ко всем вложенным каталогам.

+0

Я не думаю, что это обеспечит базу данных. – user1759572

+0

Прости, я пропустил эту часть. Я не слишком уверен, что понимаю, что вы имели в виду. – Samer

+0

Ощущается, что он хочет обеспечить свой код тем, что плохие люди не будут помещать плохие вещи в его мягкие (И теперь он делает это с htaccess). – user1759572

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