Ayola.net
Новости: В связи с обилием спама, постинг на форуме временно закрыт.

Для связи с поддержкой используйте тикеты в панели управления.
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. Сентябрь 23, 2018, 13:57:26


Войти


Страниц: 1 [2]
  Печать  
Автор Тема: Защита сайтов [Мой сайт - моя крепость.]  (Прочитано 28687 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #25 : Август 01, 2008, 16:01:23 »

Вот код  funciones.php    Тут кирилица не правильна! не обращайте внимание! на работе комп гонит!
Ясно.
Вот до этого пишем:
Цитировать
$username=uc($_POST['username']);
$password=uc($_POST['password']);
Код:
if (strlen($_POST['username'])>20 OR preg_match("/[a-zа-я0-9_ -]+/i",$_POST['name'])===false){
echo "Имя больше 20 символов или содержит запрещенные символы!";exit();
}
Записан

Гамлета здесь больше нет. Осталась только тень.
atimur
Просветлённый
****

Карма: 59
Сообщений: 990


Живу в SanCity


Просмотр профиля WWW
« Ответ #26 : Август 01, 2008, 16:04:42 »

=- Постоянно в логах вижу попытки "обнюхать" сайт и попытки подмены параметров.)) SQL-инекций пока не наблюдал.) Через AJAX интерфейс еще пробуют...)
Записан

- Правда, она всегда глаза режет...
- Капча - Идите лесом...
modlen
Новичёк
*

Карма: 0
Сообщений: 9


Просмотр профиля
« Ответ #27 : Август 01, 2008, 16:30:05 »

Astraller™   Спасибо тебе! Я так понимаю что в этом коде защита стоит и от символов?! А вообще какой принцип заключается в поставке кода? Перед чем его надо ставить?! Я так понял что перед функцией funciones.php!
 
 
Записан
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #28 : Август 01, 2008, 17:45:05 »

Astraller™   Спасибо тебе! Я так понимаю что в этом коде защита стоит и от символов?! А вообще какой принцип заключается в поставке кода?
Ставить перед:
$username=uc($_POST['username']);
$password=uc($_POST['password']);

Принцип в том что если есть недопустимые символы и/или больше 20 символов оно выругается Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
modlen
Новичёк
*

Карма: 0
Сообщений: 9


Просмотр профиля
« Ответ #29 : Август 01, 2008, 19:40:32 »

Данный код защиты распространяется на все страницы сайта где надо вводить информацию как логин, пароль, e-mail?
Записан
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #30 : Август 01, 2008, 21:00:01 »

Данный код защиты распространяется на все страницы сайта где надо вводить информацию как логин, пароль, e-mail?
Только на ту где вы его внесли Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
cnet
Новичёк
*

Карма: 2
Сообщений: 32


Просмотр профиля
« Ответ #31 : Август 12, 2008, 05:25:37 »

Батаники, вы что издеваетесь!!!! Смеющийся Смеющийся Смеющийся
Это защита против 80% хацкеров(т.е. юзверей с завышенным самомнением Подмигивающий).
Интересно, а кто-нибудь смотрел зачем нужна функция uc?
Может быть лучше её исправить? Смеющийся Смеющийся Смеющийся
« Последнее редактирование: Август 12, 2008, 16:47:04 от cnet » Записан
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #32 : Август 14, 2008, 15:36:13 »

Батаники, вы что издеваетесь!!!! Смеющийся Смеющийся Смеющийся
Над вами по моему природа уже поиздевалась.
Интересно, а кто-нибудь смотрел зачем нужна функция uc?
Не поверите - смотрели. И править её в данном контексте безсмысленно.
Записан

Гамлета здесь больше нет. Осталась только тень.
cnet
Новичёк
*

Карма: 2
Сообщений: 32


Просмотр профиля
« Ответ #33 : Август 15, 2008, 03:38:21 »

А вот по моему я никого лично не оскорблял.
"Ошибки надо искать в первую очередь внутри себя" - хорошая фраза!!! Крутой

if (strlen($_POST['username'])>20 OR preg_match("/[a-zа-я0-9_ -]+/i",$_POST['username'])===false){
echo "Имя больше 20 символов или содержит запрещенные символы!";exit();
}
Все правильно написано, если не считать это php кодом. Смеющийся Смеющийся Смеющийся
Почему ты пытаешься, хотя выражение в функции preg_match написано неправильно,  позволить юзеру использовать всеми запрещенные -- и пробелы, а также русский алфавит, который как я полагаю тут не нужен.

Смотри как надо
if (strlen($_POST['username'])>20 || !preg_match("/^[a-zA-Z0-9_]+$/",$_POST['username'])){
echo "Имя больше 20 символов или содержит запрещенные символы!";exit();
}
Тут как я полагаю твоя мысль изложена правильно.

Если бы ты внимательно изучил представленые тебе фрагменты скриптов, ты посоветовал бы изменить в функции uc строку
if (ereg("^[a-zA-Z0-9\-_]{3,20}$", $mensaje)) {
на
if (ereg("^[a-zA-Z0-9_]{3,20}$", $mensaje)) {

Потому что скрипт и так хорошо обрабатывает входные данные.

Разберемся с функцией
ereg("^[a-zA-Z0-9_]{3,20}$", $str)

1. Длина $str от 3 до 20 символов.
2. Допустимые символы в строке [a-zA-Z][0-9][_] (или [a-zA-Z0-9_]).

Если эти два условия соблюдены, тогда функция возвращает true.
Не веришь мне, посмотри как работать с регулярными выражениями.

Извинись или объясни в чем я не прав.
« Последнее редактирование: Август 16, 2008, 11:35:52 от cnet » Записан
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #34 : Август 17, 2008, 14:11:52 »

А вот по моему я никого лично не оскорблял.
Если "батаники" не есть оскорбление, то примите мои извинения.
Цитировать
Все правильно написано, если не считать это php кодом. Смеющийся Смеющийся Смеющийся
Почему ты пытаешься, хотя выражение в функции preg_match написано неправильно,  позволить юзеру использовать всеми запрещенные -- и пробелы, а также русский алфавит, который как я полагаю тут не нужен.
Хм. Что-то я не пойму, почему не дать использовать русские символы и эти знаки? В каком месте от это может составить угрозу безопастности?
Цитировать
Тут как я полагаю твоя мысль изложена правильно.
1) В моей регулярке действительно есть 1 не точность, но я допустил её умышленно, надеясь что человек проверит работоспособность, выяснит что ошибка есть и будет вынужден для её устранения ознакомится с материалом по рег.выр.
2) Вы не правильно полагаете.
Цитировать
Если бы ты внимательно изучил представленые тебе фрагменты скриптов, ты посоветовал бы изменить в функции uc строку
Потому что скрипт и так хорошо обрабатывает входные данные.
Можно конечно и изменить строку, но я не думаю что сообщение "The Field $mensaje is not Valid" много информативнее чем "Имя больше 20 символов или содержит запрещенные символы!". Именно по этому я и настаивал на отдельной проверке.
Цитировать
Разберемся с функцией
ereg("^[a-zA-Z0-9_]{3,20}$", $str)

1. Длина $str от 3 до 20 символов.
2. Допустимые символы в строке [a-zA-Z][0-9][_] (или [a-zA-Z0-9_]).

Если эти два условия соблюдены, тогда функция возвращает true.
Не веришь мне, посмотри как работать с регулярными выражениями.
1) Я знаю как работает эта функция Улыбающийся
2) Здесь вы правы, можно было оба условия исполнить одной регуляркой.
Код:
Извинись или объясни в чем я не прав.
1) Я не называл вас ботаником, в отличии от вас.
2) Я обращаюсь к вам на вы, в отличии от вас.
3) Я не общаюсь с вами в надменном тоне, в отличии от вас.
Так кто перед кем должен извиняться? Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
cnet
Новичёк
*

Карма: 2
Сообщений: 32


Просмотр профиля
« Ответ #35 : Август 17, 2008, 16:50:51 »

Цитировать
1) Я не называл вас ботаником, в отличии от вас.
Ботаник - это не ругательство. Всех людей, которые добились успехов своим умом и знаниями, довольно часто называют ботаниками. Это скорее похвала, чем оскорбление, но если не нравится, так обращаться больше не буду.
Цитировать
2) Я обращаюсь к вам на вы, в отличии от вас.
Буду на вы, мне не сложно. Улыбающийся
Цитировать
3) Я не общаюсь с вами в надменном тоне, в отличии от вас.
А вот с этим можно поспорить, но лучше не будем засорять форум.  УлыбающийсяПодмигивающий
Цитировать
Так кто перед кем должен извиняться?
А вы забыли? Напоминаю
Цитировать
Над вами по моему природа уже поиздевалась.
Прошу впредь не переводить стрелки.

Цитировать
Хм. Что-то я не пойму, почему не дать использовать русские символы и эти знаки? В каком месте от это может составить угрозу безопастности?
Я не против, если вы будете их использовать, но если человек не знает как правильно их обрабатывать, то лучше не бросать ему под ноги грабли.
Цитировать
1) В моей регулярке действительно есть 1 не точность, но я допустил её умышленно, надеясь что человек проверит работоспособность, выяснит что ошибка есть и будет вынужден для её устранения ознакомится с материалом по рег.выр.
Вы действуете не педагогично. Новичку нельзя ставить слишком сложные задачи, их сложность должна быть им по силам, а также они должны быть им интересны. А если этот человек только слышал про пхп, то лучше на нем не экспериментировать.
« Последнее редактирование: Август 17, 2008, 16:57:47 от cnet » Записан
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #36 : Август 17, 2008, 17:50:25 »

Вы действуете не педагогично. Новичку нельзя ставить слишком сложные задачи, их сложность должна быть им по силам, а также они должны быть им интересны. А если этот человек только слышал про пхп, то лучше на нем не экспериментировать.
Я считаю что за все в этом мире надо платить. Считайте это своеобразной платой Улыбающийся И я не считаю слишком уж сложной ошибкой отсутствие ограничителей начала и конца строки. Эта ошибка считается распостранённой и описана во всех руководствах которые я видел.
Можете меня судить за мой подход, но я считаю его правильным.
Записан

Гамлета здесь больше нет. Осталась только тень.
Sutener
Новичёк
*

Карма: 0
Сообщений: 11


Просмотр профиля
« Ответ #37 : Апрель 04, 2009, 20:09:10 »

лично у меня вообще оригинально и банально хакнули сайт)...заразили комп, сперли данные от хостинга и сайт очень быстро умер. пришлось восстанавливать
Записан
Страниц: 1 [2]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006, Simple Machines LLC

2003-2008 © ООО "Инфотур" - Бесплатный хостинг Ayola.net
Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Страница сгенерирована за 0.092 секунд. Запросов: 17.