![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Здравствуйте, подскажите пожалуйста как защитить скрипт, который обрабатывает запрос из формы. Вот пример:
пользователь указывает имя до файла типа .txt, после чего скрипт pers.php должен его парсить. Мне нужно сделать защиту: 1) Чтобы до файла pers.php пользователь не мог перейти с помощью прямого вызова. 2) Чтобы пользователь попал на страницу pers.php только в случае если нажмет кнопку Отправить, а как-нибудь по-другому. 3) Чтобы не было возможности загрузить вредоносный скрипт. Вот наверное и все. Подскажите пожалуйста как это реализовать? Большое спасибо. |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
1/2) Генерация ключа формы или просто проверка на наличие переменной "file" в $_POST. Если нет - редиректить на форму
3) Проверять расширение. |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
||||
|
||||
| awers |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
какая разница что там внутри, если запустить его не получится? да я думаю такие сложности никчему. Просто файл формы (form.html):
а в pers.php:
Типа того |
||||||
|
|||||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
awers, у меня файл не загружается на сервер, а просто парсится используя fopen() и т.д
А какие средства защиты нужно еще предусмотреть или этого достаточно? |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
GrafF812, эм. Что значит не загружестся?! input type=file же.
Каким таким магическим образом ты парсиш файл на тачке пользователя? |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
ни один из этих пунктов не имеет никакого значения. о, свеженький клиент. думает, что если файлик парсится на его рабочей тачке, которая одновременно является и сервером, то при удаленном обращении будет все то же самое - сервер полезет на чужой компьютер за файлом. причем по адресу C:\test.txt. Ведь в мире только один диск Цэ.
вот таким и парсит причем, судя по всему, он действительно не загружает, а получает только путь. Форма ж даже без мультипарта Это сообщение отредактировал(а) Ипатьев - 27.2.2010, 19:38 |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
это невозможно и не нужно.
|
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
На самом деле в протоколе НТТР все вызовы "прямые", только не все об этом знают.
Ты вот узнал и теперь должен умереть. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
если файл не имеет расширения .php или любого другого расширения, упомянутого в конфигурационном файле вашего вэб-сервера в блоке модуля php, то пхп-интерпретатор даже не будет запущен, а файл (в случае его прямой видимости из сети) будет отдан вэб-сервером без лишних вопросов. отсюда простая истина: дабы закрыть файл для скачивания из сети, надо либо вынести его за пределы видимых из сети каталогов, либо наложить соответствующие директивы, применяемые на том или ином сервере. к примеру, на сервере апач директивы прописываются в файле .htaccess, который кладётся в директорию, которую следует закрыть. в ней прописываются команды с указаниями, как поступить в случае того или иного запроса. по поводу ваших проблем по сути уже сказано достаточно, но объяснить больше практически невозможно. зато можно посмотреть самому. совет простой: найдите себе хостинг в интернете (есть и бесплатные вместе с php), выложите туда ваш скрипт и начните тренироваться на реальной машине. вы сразу увидите, что у вас ничего не работает, и что задавать следует совершенно иные вопросы. и когда вы придёте с ними, вам начнут вполне конкретно отвечать: да, файл у вас не загружается, потому что не прописан соответствующий enctype формы да, файл можно скачать напрямую, потому что он не закрыт соответстующими директивами да, искать вредоносный код в файле бессмысленно, потому что он не запускается но пока вы не можете увидеть даже то, что файл у вас не загружается, потому в вашем случае и клиент и сервер находятся на одной машине, и вы не видите между ними разницы Добавлено через 7 минут и 26 секунд злой ты человек |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
bars80080, а ты добрый.
Хостинг конечно хорошо - правильно, только попадется кривой, хлопот не оберешся. А уж ТС и не разберется, хороший хостинг или нет. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Да, я злой, но не здесь. Это просто шутка. как в фильмах про пиратов - "Ты узнал, гле спрятано сокровище и должен умереть!"
|
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
bars80080, спасибо большое.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |