Forum Webscript.Ru
Программирование => Perl => Тема начата: Evgeny от 05 Июля 2002, 11:44:34
-
Привет всем.
Подскажите пожалуйста, есть ли какое-нибудь стандартное решение следующей проблемы:
Допустим cgi-скрипт для общего пользования имеет имя http://my_adress.com/dbview/script.cgi
Файл данных mydata.txt для этого скрипта лежит в этом же каталоге и соответственно всем пользователям должно быть разрешено читать этот файл. Но тогда пользователь набирает в адресной строке http://my_adress.com/dbview/mydata.txt и получает этот файл. Нехорошо.
Есть ли какое-нибудь решение кроме того, чтобы сохраниять фйлы данных в неподконтрольные web-серверу каталоги.
Спасибо.
-
Вообще от настройки сервера зависит... Но в большинстве случаев достаточно для файла mydata.txt выставить права "600", твой скрипт будет его нормально читать и писать в него, а из броузера его никто не откроет.
Другой вариант, более универсальный - запрети доступ к этому файлу в .htaccess
-
И еще, у многих отстойных хостеров, которые не дают использовать .htaccess, можно сделать имя файла данных, начинающимся с точки - никому постороннему сервер его не отдаст :)
В общем, вариантов много.
-
600 не работает, скрипт не может его открыть, "нет прав" говорит.
Файл с именем, где вначале точка стоит, отдал мне сервер.
Осталось .htaccess.
Чего в нём писать то надо?
-
Order allow,deny
Deny from all
Запретит все *.txt
-
Order allow,deny
Deny from all
Запретит все *.txt
Не запрещает... :(
Проверь, может ты ошибся где-то в коде, я тут ничего пойму.
-
а не проще этот файл данных положить в каталог, который через веб недоступен?
-
а не проще этот файл данных положить в каталог, который через веб недоступен?
Физически проще, но тогда уже теряется логика. Хорошо, когда всё упорядочено, каталоги ведь для того и существуют...
-
600 не работает, скрипт не может его открыть, "нет прав" говорит.
Ну значит так настроили :(
Order allow,deny
Deny from all
Запретит все *.txt
Ничего подобного!
deny from all
- для всех txt-файлов
или
deny from all
- для конкретного файла
А "Order" в таком простом случае ничего не дает.
-
deny from all
- для всех txt-файлов
или
deny from all
- для конкретного файла
Есть! Наконец заработало!
А чем отличаются директивы Files и FilesMatch ?
А что ещё в этот .htaccess писать можно. Про пароли знаю.
Где можно об этом почитать?
-
Где можно об этом почитать?
Например, начни с http://www.host.ru/art/0007.html и далее по ссылкам.
-
Есть! Наконец заработало!
Заметил неточность: первый мой вариант должен заканчиваться не на
а на
-
А чем отличаются директивы Files и FilesMatch ?
Если в двух словах: и та и другая директива устанавливает соответствие для файлов. Примеры:
- конкретный файл
- все txt-файлы (кстати, в твоем случае, это лучше)
- то же самое, только с использованием регулярных выражений. Однако, если нужны регулярные выражения рекомендуется использовать FilesMatch (больше они ни чем не отличаются):
- то же самое
Где можно об этом почитать?
Только что отвечал:
http://forums.webscript.ru/showthread.php?s=&threadid=6729&msgnum=2