Jump to content
  • 0

Безопасность


newенький
 Share

Question

Здравствуйте, есть форма для добавления сообщения в гостевой книге и необходимо обеспечить безопасноть этой формы. Вопрос в следующем достаточно ли для этого процедур обработки из функции security

function security($txt, $length)
{
// Запрещаем использование ссылок в сообщениях
if (preg_match("|www\.|i",$txt)||preg_match("|http://|i",$txt))
{exit("Запрещается использование ссылок в сообщении");}

// Удаляем все теги
$txt=htmlspecialchars(strip_tags($txt));

// Убираем лишние пробелы если они есть
$txt=preg_replace("|[\s]+|s"," ",$txt);

// Проверяем на длинную строку

$txt = preg_replace_callback('/(\w{100,})/', 'newtext', $txt);

// Ограничиваем размер сообщения
$txt=substr($txt,0,$length);
return $txt;
}
function newtext($matches)
{
return wordwrap($matches[1],100,"<br>",1);
}

Edited by newенький
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

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

Link to comment
Share on other sites

  • 0

Капча, конечно, должна быть обязательно. Еще я проверяю на наличие уже в базе идентичного сообщения. Еще есть смысл иногда проверять на ай пи, записывать спамеров в базу и банить их. Ну и все остальные поля тоже нужно проверять и ограничивать... В гостевой же обычно есть имя, e-mail и т.п. Имя нужно по длине ограничивать, e-mail проверять на реальность и т.д.

Link to comment
Share on other sites

  • 0
В первом условии можно было обойтись без регулярки. Ну вроде ничё так функция. А почему вырезается только http?

Там не только http, но и www вырезается.

Ну и все остальные поля тоже нужно проверять и ограничивать... В гостевой же обычно есть имя, e-mail и т.п. Имя нужно по длине ограничивать, e-mail проверять на реальность и т.д.

Ну это общая для всех функция. Имейл я проверяю отдельно при помощи соответствующего рег. выражения, а длину ограничивает параметр $length, который задаю в зависимости от поля (имя , сообщение и т.п.)

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

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

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy