процесс формы с использованием php - PullRequest
2 голосов
/ 12 декабря 2011

для обработки формы, что лучше?(безопасный / быстрый)

Форма размещения:

<form id="myForm" name="frm1" action="insert.php" method="post">
<textarea name="content" id="content" cols="35" rows="5"></textarea>
<INPUT type=submit value="submit" name=submit></form>

Вставьте php:

<?php
if (( 'POST' == $_SERVER['REQUEST_METHOD'])) {
     //php validation code
} else {
    exit();
}
?>  

Или

<?php
if (!isset($_POST['submit']))  {
    //php validation code
}    else {
    exit();
}
?>

Ответы [ 5 ]

1 голос
/ 12 декабря 2011

Обычно вы должны проверять, существуют ли данные, которые вы собираетесь обрабатывать.Кроме того, ваш второй метод предпочтительнее, но не думайте, что люди будут нажимать вашу кнопку отправки.

У меня есть пара других заметок для вас, пока я на нем.Вы действительно должны закрыть свой <input> тег с /> в конце.

Кроме того, хотя вы можете сравнивать, как ('POST' == $_SERVER['REQUEST_METHOD']), запись в таком порядке не имеет большого смысла.Переверните его так: ($_SERVER['REQUEST_METHOD'] == 'POST')

1 голос
/ 12 декабря 2011

Скорость здесь не имеет значения.С точки зрения безопасности эти два куска кода отличаются друг от друга ...

if (( 'POST' == $_SERVER['REQUEST_METHOD']))
{//php validation code
}
else 
{exit();}

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

if (!isset($_POST['submit'])) 
{//php validation code
}
else
{exit();}

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

Реальная проблема безопасности здесь - ваши проверочные тесты.

1 голос
/ 12 декабря 2011

Второй, безусловно. Это более читабельно. и даже более логично

<?php 
if (isset($_POST['submit'])) { //php validation code
     //do something   
}
else
{
   exit();
} 
?>
0 голосов
/ 13 декабря 2011

Второй ответ - лучший, потому что вы проверяете только кнопку отправки. Другой проверяет только сообщение.

0 голосов
/ 13 декабря 2011
if (!isset($_POST['submit'])) 
{//php validation code
}
else
{exit();}

Второй имеет больше смысла для меня.

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