Помощь в программировании.
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Помощь в программировании. PHP, HTTP, Java, Cleo, AMX.
 
ФорумПоследние изображенияПоискРегистрацияВход

 

 [PHP] PHP ЗАЩИТА

Перейти вниз 
АвторСообщение
Admin
Мастер Программного Форума
Мастер Программного Форума
Admin


Сообщения : 35
Ваши Заработанные Очки : 10086
Репутация : 0
Дата регистрации : 2012-12-15
Возраст : 28
Откуда : Muravlenko

[PHP] PHP ЗАЩИТА Empty
СообщениеТема: [PHP] PHP ЗАЩИТА   [PHP] PHP ЗАЩИТА Icon_minitimeСб Дек 15, 2012 12:43 pm

Защита формы в PHP скрипте

Хотелось бы уберечь начинающих сайтостроителей от такого греха пользователей, как флуд.
Что нам пишет Википедия по слову Флуд:

Флуд (от неверно произносимого англ. flood, наводнение[1]) — размещение однотипной информации на нескольких ветках форума или разных форумах, одной повторяющейся фразы, символов, букв, слов, одинаковых графических файлов или просто коротких сообщений на веб-форумах, в чатах, блогах.

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

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

Флуд так же определяют как — пустословие, пустая болтовня (сообщения) пользователей, в интернет-форумах и чатах, занимающие (во многих случаях) большие объёмы и не несущие никакой-либо информации или очень малое количество полезной информации. 

В большинстве форумов, IRC-чатов и т. д. флудер наказывается баном на срок, определённый правилами.

Я здесь не буду рассматривать именно вариант с форумом, мы поговорим о форме отправки сообщения, т.е. в принципе любую форму которую вы создаёте на сайте, для отправки данных. Например для обратной связи, сейчас часто стало модным делать подразделы на сайте, типа "Вопрос - Ответ". Где вы задаёте вопрос администрации сайта или менеджеру, например интернет магазина в котором хотите, что-то приобрести, при ответе менеджера вопрос и ответ показываются на странице. Тем самым самостоятельно сайт формирует рубрику "Часто задаваемые вопросы". Ну и вы помогаете набивать новый контент на сайт. Не большую кучку зайцев завалили. ))
Так вот чтоб этой формой можно было пользоваться только на сайте, а не с локального сервера у себя на компьютере. В форму добавляется скрытый тег input со значением автоматически сформированного id - сессии пользователя. Который при нажатии кнопки Отправить, отправляется со всеми данными на страницу обработчика, где и проверяется его принадлежность к текущей сессии. Если вы пока не знакомы с сессиями в PHP, ни чего страшного, всё значительно проще, чем может показаться, прочитав FAQ по сессиям.
Листинг № 1 - Форма для отправки сообщения защищённая сессией.
<?php
session_start();

echo '<form action="page.php" method="post">
<input name="" type="text"><br>
<input name="idses" type="hidden" value="'.session_id().'">
<input name="go" type="submit" value="Отправить">
</form>';

?>
Листинг № 2 - Файл page.php, принимающий данные из формы на обработку.
<?php
session_start();

// Проверяем наличие одной сессии.
if(session_id() != $_POST['idses']) exit("Все в поле, курить бамбук!");

// Здесь пишем любой код который должен следовать после идентификации сессии...

// ...
?>
Хотелось бы тут отметить, что функция session_start() - будет работать только в том случаи, если первый дескриптор PHP (<?php) находится на первой строке файла.
Урок закончен.
Вернуться к началу Перейти вниз
https://programmsupprot.profiforum.ru
 
[PHP] PHP ЗАЩИТА
Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» [PHP] Урок: Защита PHP Cтраниц от Несанкционированного доступа

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Помощь в программировании. :: Интернет программирование :: PHP программирование-
Перейти: