Перейти к контенту

Обработка $_POST


Рекомендуемые сообщения

Как можно обезапасить примерно следующий алгоритм.

У меня идея только сделать дополнительно поле проверки с хеш-ключом, но хочется более простой путь.

 

form.php

 

echo "<form action=\"file.php\" method=post>";

for($i=0;$i<=10;$i++)
{
echo "
<input type=text name=\"name[$i]\">
<input type=text name=\"surname[$i]\">\n";
<inpu type-hidden name=\"id[$i]\" value=\"$i\">
}

echo "<input type=submit>
</form>";

 

 

file.php

 

$c = count($name) - 1;
for($i=0;$i<=$c;$i++)
{
$name[$i] = mysql_escape_string($name[$i]);
$surname[$i] = mysql_escape_string($surname[$i]);

mysql_query("INSERT INTO table (name,surname) VALUES ('$name[$i]','$surname[$i]') WHERE ID='$id[$i]'");
}

 

 

Обнулить массив в начале файла file.php нельзя, но тогда злоумышленник может через строку подменить данные из формы. Каким образом можно в данном случае избежать подстановки данных?

Ссылка на комментарий
Поделиться на других сайтах

Дык стоп, а чего бояться подмены через строку, если это можно сделать валидно в том же самом input type ?
Ссылка на комментарий
Поделиться на других сайтах

а чего бояться подмены через строку

да правда что, когда можно и код формы отредактировать...

 

Код file.php при отключеном register_globals работать не будет! Да кстати по той же причине у вас там что-то через строчку поменять можно.

 

Так что либо extract($_POST) в самом начале скрипта, либо $_POST['Имя_массива']

Ссылка на комментарий
Поделиться на других сайтах

Про register_globals я знаю :D

Я просто пример пример скрипта...

Так вот мне что интересно, как ещё можно организовать цикловую обработку форму? ТО есть грубо говоря згнать её в массив и оттуда перегонять в базу!?

 

Код конечно не идален, и допустим даже слишком. Я им показал только сам принцип, конечно проверка данных на целостность в обработке скрипта присутствует. Интерес в том, что бы сделать сам процесс обработки как можно менее емким.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.