![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 8 Всего: 89 |
stripslashes - Удаляет экранирующие бэкслэши. (\' преобразуется в ', и т.д.). Двойные бэкслэши (\\) преобразуется в одиночные(\). Стоит учесть одно "но": этой функции нужно передавать идентификатор подключения к БД (если правильно кодить). Кроме этого, можно обойтись функцией mysql_escape_string -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| yurik_l |
|
|||
|
тарантиноман Профиль Группа: Участник Сообщений: 49 Регистрация: 17.9.2006 Репутация: 1 Всего: 3 |
Sunvas, ты последнее сообщение bars80080 читал? Он написал, что функция stripslashes слэши в "http://" удалит. Или я что-то не так понял?
|
|||
|
||||
| NewDima |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Teleport, пойми, два самых распространенных взлома сайта это sqlинъекция и межсайтовый скриптинг.
Первая возможна, когда передаешь параметры из _GET[] (_POST[] и т.п.) прямо в sql запрос, к примеру вот так:
это будет очень слабый участок кода, так как данными можно будет манипулировать через get. Ты же пользуешься безопасным способом
так как запрос для мускула никак не зависит от каких либо данных вообще! по этому здесь ненужна никакая фильтрация. единственная проблема (как мне кажется) - это то, что ничего не будет на странице, если вводить адрес без параметра pshow в get запросе, а это не есть гуд. во, еще про второй метод забыл сказать. ну здесь у тебя вообще проблем нет, так как ты не выводишь нигде то, что каким-либо образом манипулируется клиентом. к примеру так
делать (на сколько я знаю), нельзя Добавлено через 6 минут и 7 секунд а если таким методом и будешь выводить, то обязательно обрабатывай запрос перед выводом его части (или полностью) в браузер Это сообщение отредактировал(а) NewDima - 26.9.2008, 04:34 |
||||||
|
|||||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Символы не могут представлять опасность. Опасность может представлять несоблюдение правил чего-либо. Если носить деньги в открытой сумке, их могут украсть, если не мыть руки перед едой, может быть понос, если заниматься незащищенным сексом с кем попало, можно подцепить вензаразу. Это все опасности, но разные, и меры защиты от каждой должны применяться к месту (о чем говорил выше bars80080). Наивно думать, будто от всех этих напастей поможет заворачивание денег в чисто вымытый с мылом презерватив (или "волшебная фильтрация" от любых порчи и сглаза "опасных символов" на входе;) База данных может хранит любые символы - опасных символов для нее не существует. А вот опасные запросы существуют - например, вместо "SELECT passw FROM users WHERE id=715" некто пропихнет запрос "SELECT passw FROM users WHERE id=751 OR 1" и получит полный список паролей. Тупо "фильтровать" ввод тут бесполезно - например, если тут просто вырезать OR, то гад может всунуть "...WHERE id=715 OORR 1" и после фильтрации получится как раз то, что ему надо. Нужно не "символы фильтровать", а обеспечить, чтобы независимо от входящих данных запрос получился такого вида, как надо нам. Фактически для этого достаточно соблюдать два простых правила, о которых хорошо написано здесь. Точно так же HTML может выводить на экран абсолютно любые символы - просто нужно помнить, что < и > в нем ограничивают теги, поэтому чтобы вывести их как символы - нужен htmlspecialchars. А значения атрибутов должны обязательно быть в кавычках, иначе первый же пробел станет началом нового атрибута. И опять же, как и с запросами - нужно четко представлять, HTML какого вида надо построить в результате вывода: что вывести как теги, что - как текст, а что лучше вообще убрать. Тогда и никакой XSS не страшен. И лучше делать это не при вводе данных, а именно при выводе - иначе "раскодировать" исходную информацию, если она вдруг понадобится (скажем, для RSS-фида или WAP-версии сайта) будет ох как проблематично. Ну а если мы явно видим, что нам шлют данные, совсем не похожие на то, что мы ожидаем для нашей задачи - такой запрос лучше просто послать лесом (редиректнуть на главную страницу, выдать 500-ю ошибку или навсегда забанить по IP - по вкусу, в зависимости от суровости автора сайта;). Но именно отбросить весь "неправильный" запрос. А не заниматься самолечением попытками наобум "оживить" его с помощью какой-то наивной "фильтрации"... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
Ты должен сам понять, что ты бездумно скопировал абсолютно ненужный в том месте, куда ты его поместил, кусок кода. А пока ты это не осознаешь, так и будешь проверки наобум ставить. Вот тебе рассказали, что ничего не изменится, если твои проверки убрать, а ты понял почему? Ведь если не понял, то все кто потратил время на ответы в этой теме, сделали это зря... -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: нет Всего: 6 |
2 NewDima
Насчет этого я знаю 2 SelenIT - очень внятно и доходчиво. Большое Спасибо. Вопрос такой возник по защите - если ввести www.mysite.ru - то отобразится страница index.php, а если ввести www.mysite.ru/img - то отобразится список файлов в данной папке. Как сделать, чтобы список файлов не был доступен никому? Неужели нужно в эту папку запихнуть index.php или index.html? А как узнать, что у меня есть такач папка img? На любой рисунок на моем сайте правой кнопкой щелкнуть и выбрать пункт Свойства - там указано, что из папки img. |
|||
|
||||
| teroni |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 8 Всего: 22 |
в .htaccess написать надо Options -Indexes
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: нет Всего: 6 |
2 source777 - мне дали целых 2 замечательных ответа в последних постах. Вот это мне теперь полностью понятно. Ты, наверное, и вправду хочешь помочь, но из твоих сообщений ничего не ясно. Да, признаю, я ошибся, скопировав эти строки, но неужели у всех все правильно и первого раза правильно получается?И все понятно сразу? Я вот не такой. Я ошибаюсь. И много раз еще ошибусь.
2 bars80080 - и как быть? Это сообщение отредактировал(а) Teleport - 26.9.2008, 15:12 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
я не имею тенденций к патъяпкам. если знак вопроса, значит сам спрашиваю. ибо если его никак не побороть, то значит есть всего две альтернативы блоку от .htaccess: 1. размещение файла index.html 2. перенесение всех скрываемых каталогов из видимых директорий (т.е. у тебя картинки размещаются допустим в localhost/www/image/ , а если перенести папку localhost/image будет не видна, зато к ней можно обратиться по файловой системе. правда, как я понимаю, картинки в этом случае через скрипт придётся отдавать, что тоже не есть хорошо) |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
вот это как раз правильный вариант(в случае отсутсвия доступа к .htaccess), а самое главное - универсальный.
Добавлено через 4 минуты и 1 секунду
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: нет Всего: 6 |
2 source777 - а чтобы было о чем думать самостоятельно - нужен материал. Вот мне сказали - что возможно и как от этого защищаться. Вот теперь есть над чем думать. Куда и чего запихать. А эти наводящие вопросы, в данном конкретном случае - ни к чему не приведут.
2 bars80080 - понял, спасибо. если я в каждой папке размещу index.html - то список моих файлов не так уж просто будет посмотреть? Я правильно понял? Это сообщение отредактировал(а) Teleport - 26.9.2008, 17:58 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
вообще нельзя будет просмотреть. ты ведь его видишь без индексного файла только потому, что червер отдаёт его тебе, так как в адресе нет страницы, а если ты его закроешь этой страницей (index.html - страница вызываемая по-умолчанию), то просто не сможешь |
|||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: нет Всего: 6 |
2 bars80080 - вообще нельзя будет? А можно ли в строке броузера написать код, который просто обойдет этот index.html ? И выдаст страницу с файлами? Не знаю глупо ли звучит вопрос, но дело в том, что я что-то такое слышал. Может путаю...
|
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
тебя на Google забанили что ли? Только на этом форуме всё это уже десятки раз обмусоливалось...
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
![]()
|
| Правила форума "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. |