![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
хотелось бы чтобы здешние виртуозы PHP написали распространенные дыры, и исправленные варианты.
Некий такой справочник, чтоли, чтоб новички (к которым я себя и причисляю) могли научиться писать без явных дыр. p.s без sql иньекций и прочего, так как это подробно описано везде. -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
||||
|
||||
| pizzz |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 14.12.2008 Где: Омск Репутация: 6 Всего: 8 |
Чтобы писать без дыр, надо всегда проверять то что приходит от пользователя. во вторых,
Это не правильно. Надо проверить а открылся ли фаил. Например так:
--------------------
Спасибо много, жмем кнопку репутация. Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады. |
||||
|
|||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
Не нужно ничего такого читать.
Только документацию по используемым методам. И знать, что КОНКРЕТНО происходит при любом твоем действии. На примере SQL-inj: они происходят, когда человек, используя потенциально уязвимую библиотеку для запросов пренебрегает правилами ее использования. Решение: либо использовать так, как написано в мануале, либо выбрать библиотеку, которая не позволит сделать SQL-inj(мэппинг до объектов, например). |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Ну на мой взгляд дыра только одна. Доверие переданым от пользователя данным.
Всё остальное не дыры, а невнимательность и непонимание происходящего. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
bars80080, да ладно тебе ) Это всего лишь намордник что бы пхп не гавкал
А вообще да конечно. Муветон он и в африке муветон |
|||
|
||||
| unicross |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 422 Регистрация: 15.6.2008 Репутация: 21 Всего: 53 |
bars80080, Вы эту надпись не считаете дырой в безопасности???? Наличие собаки плохо на этапе разработки. При отсутствии на этапе работы - это дыра в безопасности... Если конечно в начале скрипта не стоят строки:
А в .htaccess
Это сообщение отредактировал(а) unicross - 28.2.2009, 19:14 |
||||||||
|
|||||||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
А при этапе работы display_errors всегда должен быть off. |
|||
|
||||
| unicross |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 422 Регистрация: 15.6.2008 Репутация: 21 Всего: 53 |
bars80080, я от вас ждал более мудрого ответа. Такого же мудрого как дали skyboy и gta4kv. А знаю... Вы не захотели повторяться...
Применение функции file_exists() при модификаторе "w" в fopen() лишено смысла, а при "r" могут возникнуть ошибки и при существовании файла, например, нет прав доступа или файл блокирует другая программа длительное время... Что касается примера pizzz, то применение собаки может быть оправдано, так как в блоке else мы и так знаем, что произошла ошибка и можем ее обработать. Нет смысла выводить ошибку в errorlog, а тем более в браузер. В остальных случаях я против собаки... Я за display_errors=Off при работе...
В том, то и проблема что конфигурация не всегда настроена правильно. Вывод ошибок в браузер вижу почти на каждом третьем сайте. Как говорится "На других надейся, а сам не плошай"! Да согласен, но если в скрипте есть конструкция include($_GET['file']), то это не поможет... |
|||
|
||||
| awers |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
А если нет прав записи в директорию
is_writable есть и is_readable на такие случаи |
||||
|
|||||
| unicross |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 422 Регистрация: 15.6.2008 Репутация: 21 Всего: 53 |
||||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
и это объясняет закрытие собакой функцию? а остальные функции? может всё-таки разом отключать все ошибки на показ? |
|||
|
||||
![]()
|
| Правила форума "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. |