|
|
|
| В моем скрипте есть корневая директория скрипта, и три подкаталога. Кое-как файлы защищены, но, тем не менее, если в адресной строке набрать точный путь к файлу в подкаталоге моего скрипта - файл выдается на экран. Как можно защитить это, но, желательно, избежав htaccess, и подобных серверных технологий?
К сожалению, я плохо знаком с серверной работой - со всеми этими правами доступа, и так далее. К примеру, если я правами доступа добиваюсь того режима, при котором файлы действительно защищены - их нельзя увидеть через браузер - тогда не работает сам скрипт. И наоборот - если права таковы, чтобы скрипт работал - тогда все можно увидеть и через браузер...
Что можно сделать? Во-первых, с первой проблемой - конкретно, как решить это, избегая серверных вещей... Во-вторых - может ли кто-нибудь попробовать объяснить с этими правами доступа... а то я как ни читал - ну не доходит... | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.01.2005 в 07:31)
| | >Как можно защитить это, но, желательно, избежав htaccess, и подобных серверных технологий?
Хм… но нельзя защитить скрипты избегая серверных технологий. Поясню. Ваши файлы лежат на сервере и выполняются сервером. И потому защитить их можно только серверными технологиями.
А почему Вы против файлов .htaccess. Ведь это как раз самый простой способ защиты.
Например, чтобы не допустить вывода файла через браузер нужно создать файл .htaccess в защищаемой директории и написать там директивы
<Files config.txt>
deny from all
</Files>
|
После этого получить доступ к файлу config.txt из браузера будет невозможен.
У нас есть 2 статьи по файлам .htaccess. Нам кажется все очень доступно написано.
http://www.softtime.ru/info/articlephp.php?id_article=25
http://www.softtime.ru/info/articlephp.php?id_article=27
Что будет непонятно - спрашивайте.
>И наоборот - если права таковы, чтобы скрипт работал - тогда все можно увидеть и через браузер...
Хм... возможно все. Нужно смотреть логику работы скрипта. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(18.01.2005 в 10:23)
| | Меня не устраивает htaccess тем, что я не знаю, на каких серверах будет использоваться мой скрипт. Соответственно, неизвестно, будет ли он работать.
Что ж, вы очень четко все объяснили, большое спасибо. Один только вопрос - если htaccess НЕ поддерживается - он просто игнорируется, или выдается ошибка? | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.01.2005 в 12:33)
| | Хм... такой сервер сложно встретить, если всё-таки вам удасться встретить такой сервер, то он в первую очередь не будет поддерживать PHP. | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.01.2005 в 12:33)
| | >Один только вопрос - если htaccess НЕ поддерживается - он просто игнорируется, или выдается ошибка?
.htaccess – это конфигурационный файл только для WEB-сервера Apache. Остальные сервера про него не знают и соответственно ошибки не будет.
И если использование .htaccess "не разрешено" в Apache (это возможно), то в этом случае можно писать в нем все что угодно. Результата не будет никакого. Apache просто не будет читать это файл. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(19.01.2005 в 00:39)
| | Вообще говоря многие знают, так как apache практически стандарт, многие вынуждены его поддерживать... | |
|
|
|
|
|
|
|
для: cheops
(19.01.2005 в 01:15)
| | IIS, например, не поддерживает. | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.01.2005 в 07:31)
| | А какие файлы ты хочешь защитить? В смысле php или обычные html? Если php то просто пиши в каждом этом файле в начале код который будет проверять определенную переменную инициализированную в главном скрипте. Например в главном скрипте ты пишешь:
<?php
$is_my_script=1;
include("защищенный файл.php");
?>
|
а в защищенном в самом верху:
<?php
if(!isset($is_my_script) || $is_my_script!=1)
{
тут редирект на фиг...
}
?>
|
| |
|
|
|
|
|
|
|
для: XPraptor
(18.01.2005 в 12:52)
| | А если .txt ? | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.01.2005 в 13:27)
| | Хм... так как это файл все должен использоваться скриптами (я так понимаю), то для того чтобы запретитить его выдавать в браузере - нужно "попросить" об этом WEB-сервер. Т.е. привязка к типу сервера.
PS: если Вы пишите на PHP, то 99.9%, что они будут выполняться на Apache. Если не хотите полагаться на .htaccess, настройки и права доступа конкретного сервера, то используйте базу данных. Логины, пароли, защищаемую инфу храните там. Наверное, это и будет решением. | |
|
|
|
|
автор: Nikola (04.07.2005 в 12:30) |
|
|
для: glsv (Дизайнер)
(19.01.2005 в 00:52)
| | Конечно, хранить защищаемую информацию в базе данных это вариант. Но! Интересно, где вы предполагаете хранить логин и пароль доступа к самой базе данных??? | |
|
|
|
|
|
|
|
для: Nikola
(04.07.2005 в 12:30)
| | В php файле. Его-то просмотреть нельзя (если он грамотно составлен).
Собственно, все txt файлы можно так же переименовать в php и отображать их только если в них передана определенная переменная. В общем, простейшая авторизация.
Ну а бинарные файлы защищать придется средствами сервера. | |
|
|
|