Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2010, 19:25   #1
Shyt
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 83
Сообщение Защита кода Php

Я тут заинтересовался стороной защиты.. и хотел бы обсудить его с коллективом и окунуться в защиту кода..

1. форма. как я слышал форма считается самым слабым местом проникновения я только знаю 3 возможных команды 1) Htmlspecialchars(); 2) addslashes(); 3) Strip_tags(); но не когда не проверял их на действии, если только совсем немного, не кто не пробовал ими пользоваться?? как они в действии... хотя слышал еще если у вас в форме цифры то можно их прогнать просто через INT.
Эффективны ли эти действия ???? может вы знаете более эффективную защиту???

2. Пробелы. когда то давным давно мне парили мозги что твой код можно взломать через пробелы, но прочитав не мало книг, они наоборот предлагают ставить пробелы для легкой читаемости.
Что эффективнее и безопаснее?

3. Браузерная строка. Как то из одной статье я прочитал что браузерная стока была взломана до такой степени что они умудрились сделать запрос и уничтожить базу данных.. это реально можно сделать ?? и против этого есть защиты???
И там еще было написано: что есть такие переменные которые не следует использовать href='?'.php?sys как в примере sys они позволяют пробраться в систему это правда???
Shyt вне форума Ответить с цитированием
Старый 14.07.2010, 21:25   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Защита дело хорошое... Надо быть всегда параноиком.
1) Форма действительно самое уязвимое место. Защита: mysql_real_escape_string + обрезание по белому списку + обрезание trim + проверка длинны вводимых данных + правильная обработка ошибок.
2) Если первое правило соблюдать, то пробелы сами собой отпадают. Пробелы это проблема для криворуких программистов.
3) В настройках или лучше в .htaccess добавляем строку "php_flag register_globals off" и учимся программировать без этих удобств. Оно стоит того.

От себя добавлю, что ещё хорошо бы проверять все входящие данные по белому списку и расставить несколько ловушек в точках возможного взлома.
Виталий Желтяков вне форума Ответить с цитированием
Старый 14.07.2010, 22:10   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

0.
Цитата:
Сообщение от Shyt
Я тут заинтересовался стороной защиты.
Какую литературу прочитали, что было изучено?

1.
Цитата:
Сообщение от Shyt
форма считается самым слабым местом проникновения
А через какое место проникают сильнее?

2.
Цитата:
Сообщение от Shyt
но не когда не проверял их на действии, если только совсем немного, не кто не пробовал ими пользоваться??
Забудьте, без мозгов они не эффективны.

3.
Цитата:
Сообщение от Shyt
но прочитав не мало книг, они наоборот предлагают ставить пробелы для легкой читаемости.
Так я и не понял, кто много книг читал, Вы или они?

4.
Цитата:
Сообщение от Shyt
Как то из одной статье я прочитал что браузерная стока была взломана
Претензии к производителю браузера, если его строку так легко взломали

5.
Цитата:
Сообщение от Shyt
и против этого есть защиты???
См. пункт 2.

6.
Цитата:
что есть такие переменные которые не следует использовать href='?'.php?sys как в примере sys они позволяют пробраться в систему это правда???


P.S. Переношу в более подходящий раздел.
Arigato вне форума Ответить с цитированием
Старый 14.07.2010, 22:44   #4
Shyt
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 83
По умолчанию

Виталий Желтяков да я эту команду (mysql_real_escape_string) я тоже знаю просто запамятовал как она правильно пишется. а как понять по белому списку?

Arigato

0. а Вы какую посоветуешь?

1. не уловил Ваш смысл но пахнет лексиконом

2. а разве им нужны мозги а я думал они всего лишь команда (хотя можно построить добрую моразм и развести на тонну скрипта а можно просто прогнать форму через эти команды )

3. -----

4. я полностью с Вами согласен, но когда сломают так сайт думаю там не до смеху будет если не иметь копию.

Всем спасибо..
Shyt вне форума Ответить с цитированием
Старый 14.07.2010, 23:50   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
а как понять по белому списку?
Это значит, что только разрешенные символы (именно разрешенные)
Виталий Желтяков вне форума Ответить с цитированием
Старый 15.07.2010, 00:56   #6
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Shyt
Чтобы правильно защищаться - нужно хорошо знать механику работы языка. Чтобы знать механику работы языка - нужно его изучать.

Это как придёшь к механику и спросишь: "Какое слабое место у БМВ E39 2002 года?", он тебе скажет "рулевые рейки, электронное табло, дифференциал". Через неделю у тебя сломается насос гидроусилителя руля, потому что смешал два разных типа масла. Почему? Потому что не знал, как твоя машина по-настоящему работает.
В PHP нечто похожее. Тебе могут перечислить основные уязвимости, но защитившись от них и не имея реального представления о структуре и механике языка - тебя всё равно взломают.
Совет: начни с малого. С теории языка, логики и алгоритмов. И потихоньку иди вверх. Если у тебя есть задатки программиста, то сам увидишь где и как можно что-то подставить, чтобы скрипт исполнил что-то, чего ты сам не хочешь. Где вообще можно что-то подставить, а где нельзя. И так далее...
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 15.07.2010, 08:10   #7
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Чтобы правильно защищаться - нужно хорошо знать механику работы языка. Чтобы знать механику работы языка - нужно его изучать.
Не согласен. Защита скриптов php сводиться к выполнению строго определённых правил. Взломщики тоже не всемогущи - и на определённом уровне защиты скриптов их взлом просто невозможен. Тогда надо заботиться о других уровнях защиты.
Правила простые:
- Отключить возможность свободно задавать переменные скрипта,
- Жестко проверять вводимые данные,
- Ограничить вывод ошибок,
- Поставить защиту от атак.
Виталий Желтяков вне форума Ответить с цитированием
Старый 15.07.2010, 19:20   #8
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

жестко проверять вводимые данные;
поставить защиту от атак;
...отключить возможность свободно задавать переменные скрипта.

Давайте подробнее об этом=) Последнее, что у меня в посту, делать с помощью preg_match? Типа, например, обрабатывать только буквы и цифры?
Krasi вне форума Ответить с цитированием
Старый 15.07.2010, 20:05   #9
13th
Форумчанин
 
Аватар для 13th
 
Регистрация: 31.12.2008
Сообщений: 634
По умолчанию

2. Пробелы. когда то давным давно мне парили мозги что твой код можно взломать через пробелы, но прочитав не мало книг, они наоборот предлагают ставить пробелы для легкой читаемости.


это как?
Возможно всё
Пишу обо всем
13th вне форума Ответить с цитированием
Старый 15.07.2010, 20:25   #10
Shyt
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 83
По умолчанию

Johnatan большое спасибо я основы прошел, как раз начал изучать защиту, об этом мало что то нормального сказано вот и решил задать вопрос на форуме может кто из вас уже продвинулся в этом плане. В частности я с Вами согласен лучший опыт это в бою, но то что Вы там загнули об машинах для меня это дремучий лес я машинами не интересуюсь ...Но вот мне Осенью придется встретится с добрым миром Сетки при том не на дерьмовой страничке а очень привлекающих для взломщиков. очень бы хотелось знать чем больше тем лучше о том как защититься хоть от юзеров..

Виталий Желтяков На счет только разрешенных символов это Вы про форму??(как я помню там можно запретить какие то символы, а разве это подействует? )
Правила не так уж они просты Как можно поставить защиту на атаку, хоть один пример покажи как это сделать ?
Да я не понял как это запретить свободно задавать переменные скрипта а разве они их вообще могут задавать ?
Если только в браузерной строке единственная и неповторимая головоломка как ее защитить. хотя я тут посмотрел кое что ее оказывается можно сравнивать если они сходятся то продолжения банкета если нет то иди погуляй, хотя эту вещь я еще не проверял действует ли она %)



Спасибо за компанию и ответы
Shyt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита кода книги в html Design HTML и CSS 12 25.11.2014 10:44
Защита кода GvR Общие вопросы Delphi 7 17.11.2009 03:08
Защита кода -=L.Morgan=- Общие вопросы Delphi 4 29.06.2009 13:10
защита кода С++ Ceprey Общие вопросы C/C++ 3 25.03.2008 22:09
Защита участков кода BlackOmen Общие вопросы Delphi 5 12.03.2008 08:59