Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: защита от заполнения формы
 
 автор: Pusep   (03.01.2011 в 09:12)   письмо автору
 
 

Добрый день.
Вопрос такой: пытаюсь реализовать защиту от заполнения формы с др. сайта по книге "PHP 5 на примерах". У меня выходит след. ситуация:
сама форма подключается с помощью file_get_contents('forma.tpl');
В этой форме, в самом начале я прописываю
<?рпр
// Инициируем сессию
session_start();
?>
<form action="plot_submit.php" ....>
...
<input type="submit" name="send" value="Отправить">
<input type=hidden name=session_id value=<?php echo session_id();?>>

В обработчике формы также ставлю session_start(); в самом начале
<?php
session_start
();
if(
$_POST['session_id'] != session_id())
{
exit(
"Попытка передачи данных с другого хоста. Скрипт остановлен.");
}

Результатом работы обработчика всегда является "Попытка передачи данных с другого хоста. Скрипт остановлен."
Просматривая заголовки, вижу , что значение session_id() пустое.
что то типа этого
Content-Length: 61
name=anj&pass=05&send=%CE%F2%EF%F0%E0%E2%E8%F2%FC&session_id=


Подскажите в чем ошибка, почему значение session_id() пустое?

  Ответить  
 
 автор: Trianon   (03.01.2011 в 09:20)   письмо автору
 
   для: Pusep   (03.01.2011 в 09:12)
 

1.диагностика ошибок включена?
2.HTML-код страницы с формой (со стороны браузера) как выглядит?

ps. когда ж это кончится-то...

  Ответить  
 
 автор: Pusep   (03.01.2011 в 12:06)   письмо автору
 
   для: Trianon   (03.01.2011 в 09:20)
 

...получается вывод сначала основного шаблона сайта, а в нем уже форма
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w1.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Шаблон верстки страницы из 3 колонок</title>
<link rel="stylesheet" href="style-site.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
....
<div id="content">....</div>
&nbsp;<?рпр
// Инициируем сессию
session_start();
?>
..
<input type="submit" name="send" value="Отправить"><input type=hidden name=session_id value=<?php echo session_id();?>>
...


Можно ли прописать один раз session_start(); в основном шаблоне сайта?? он будет работать для всех подключаемых форм??

  Ответить  
 
 автор: Trianon   (03.01.2011 в 12:15)   письмо автору
 
   для: Pusep   (03.01.2011 в 12:06)
 

php не имеет дела ни с шаблонами, ни с формами.
php исполняет php-код, и выдает http-отклик.
session_start() достаточен один раз на http-запрос.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования