在考虑验证的输入上使用HTML必需属性?

时间:2018-05-18 09:13:23

标签: php html forms validation required

我目前正在处理注册表单,我决定添加一些必填字段,如电子邮件,密码等。

我想在必填字段上做的唯一验证不是空的,所以我在输入元素中使用了必需的属性。

这样安全吗?或者我是否需要使用额外的PHP验证?

3 个答案:

答案 0 :(得分:0)

服务器端验证更好(如果我们甚至不能说需要),并且它很容易制作。

如果需要,这是一个例子:

if(!empty($_POST['pseudo']) && !empty($_POST['password'])) {
    //Prevent SQL injection (if you use DB here)
    $pseudo = addslashes($_POST['pseudo']);
    $password = addslashes($_POST['password']);
}

addslashes()不是最好的方法,但适用于任何数据库引擎,例如,如果你有一个MySQL引擎,最好使用mysql_real_escape_string()

以及相关的表格:

<form method="post" action="#">
    <label for="pseudo">Identifiant</label>
    <input type="text" name="pseudo" required>
    <label for="password">Mot de passe</label>
    <input type="password" name="password">
    <input type="submit" value="Connexion" required>
</form>

答案 1 :(得分:0)

使用网页向您发送表单并不是表单发送的唯一方式。

有人可以向您发送表格与其他设备或可以绕过您的必填字段,并向您发送空数据或不良数据,如PHP注射。

您应该进行服务器端验证。

答案 2 :(得分:-2)

对于最新的浏览器完全支持该属性,它可能是安全的。但我不知道如果有人使用旧版本的浏览器会发生什么,所以如果您对此感到害怕,那么PHP验证就不会太多。

如果您想要一个很好的注册表格示例,请私下问我,我会发给您!