эксперт рассуждает о безопасности

garlian

Новичок
Может вы нитак поняли... Но это всё нитак смешно, как вам кажется. ;) Бу, почитал ваши коменты, полный бред несёте... :D Ладно поясню немного, что я имел ввиду. Один простой пример, если не сделать никаких проверок в этом скрипте:
<form action=".php" method="get">
Имя: <input name="Name">
<input type="hidden" name="Pass" value="trjtyjt">
<input type="submit" name="sub" value="Go">
</form>
<?php
print("Привет, $Name");
?>
А теперь пользователь может легко написать в форме текст <I>Myname</i> и на экране будет выведен текст курсивом, конечно, тут нет ничего вредного. Но таким образом передавая теги или команды Javascript можно как минимум испортить внешний вид сайта или дойти до взлома. Если кто слышал об атаках Cross-Site Scripting или сталкивался с ними. Поэтому нужно внимательно проверять каждый параметр, который передается пользователями, и содержимое которого выводится на страницу.
Самая распространенная атака на БД SQL Injection, при которой вставляетcя SQL-запросы в строку URL вместо определенного параметра, и программа выполняет этот запрос.
Всё больше не хочу об этом, можно долго рассказывать... :rolleyes:
 

Фанат

oncle terrible
Команда форума
ага.
особенно можно долго рассказывать, если не знать ничего, а только слышать краем уха умные слова.
 

garlian

Новичок
PHP:
<form action="test.php" method="get">
Команда: <input name="com">
<BR><input type="submit" value="Go">
</form>
<?php
print("<B>$com</B>");
system($com) ;
?>
Можно ввести команду:
cat /etc/passwd
В результате на экране появится файл, содержащий список пользователей системы. Если прав у сервера
достаточно, то команда будет выполнена. А такого допускать нельзя. Так что лучше вообще запретить её.

-~{}~ 03.03.06 21:08:

Автор оригинала: Фанат
ага.
особенно можно долго рассказывать, если не знать ничего, а только слышать краем уха умные слова.
Я просто пояснил, что имел ввиду под проверкой данных, получаемых от пользователя...
 

Фанат

oncle terrible
Команда форума
все твои примеры не имеют ничего общего с обсуждаемым вопросом.
он процитирован выше.
ты можешь что-нибудь на него ответить, или можешь только воздух молоть?

-~{}~ 03.03.06 22:21:

Так что лучше вообще запретить её.
не понял.
запретить что? Форму? команду?
 

bgm

&nbsp;
Йоу. Исходя из прочитанного получаем, что количество "дыр" в безоопастности любого сайта равно минимум количеству форм на этом самом сайте. Мрак.

P.S. Убей бобра - спаси дерево!
 

garlian

Новичок
Автор оригинала: Фанат
все твои примеры не имеют ничего общего с обсуждаемым вопросом.
он процитирован выше.
ты можешь что-нибудь на него ответить, или можешь только воздух молоть?
Ну, верно тут погоричился, к базе тут никогого отнешения не имеет... :rolleyes:
-~{}~ 03.03.06 22:21:


не понял.
запретить что? Форму? команду?
Команду.
 

_RVK_

Новичок
garlian

зачем тебе выполнять команды, переданные пользователем? твой пример высасан из пальца.

По твоему вопросу: база не знает что такое HTML или там JS. Для неё это обычные данные, наборы байт. Никакие данные, опасности для БД не представляют. Уясни это утверждение. Потому ничего вырезать, преобразовывать не надо. А вот проверять надо. Но не для того что бы что-то там обезоваситься от взлома, а для того что бы гранить корректные данные, с точки зрения системы.

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

Про SQL Injection это вообще отдельная тема, не связанная с этой никак.

PS. Хотел самые важные моменты подчеркнуть красным, но понял, что все сказанное тогда придется выделить красным.
 

tf

крылья рулят
LOL хочу эту тему в юмор
garlian иди ман почитай http://php.rinet.ru/manual/ru/security.php или в гугле безопасность набери если так это волнует. статей на данную тему написано что место нехватит для ссылок
 

nw

Новичок
Если по мне, так самая опасная штука для базы данных, это крипич, уроненый на жесткий диск, на котором эта база хранится.
Надо написать скрипт, который будет предупреждать подобные взломы поверхности винта.
 

master_x

Pitavale XXI wieku
nw
чтоб не воровали контент с сайта- антилич, чтобы не ломали базу- антикирпич. Наш ответ западу.
 

tf

крылья рулят
nw, master_x
и тогда и только тогда я буду полностью спокоен за свой сайт
 

tf

крылья рулят
master_x млин я так и знал.
небудет мне покоя. пайду
Order allow,deny
deny from all юзать)
 

MustDie

Новичок
ну так, гулял (а что нельзя?)
кстати ... позновательный топик..
 

dark-demon

d(^-^)b
Никакие данные, опасности для БД не представляют.
XSS представляет опасность для всего, и для БД в том числе :)

А вот для того, что бы обезопасить сайт от возможгного вреда, нужно обработать данные при выводе.
при каждом выводе производить одни и те же операции? расточительно!
 
Сверху