在输入上使用 HTML 必需属性是否被视为验证?

Is using a HTML required attribute on an input considered validation?

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

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

这里安全吗?还是我需要使用额外的 PHP 验证?

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

如果你想要一个很好的注册表示例,请私信我,我会发给你!

服务器端验证更好(如果我们甚至不能说需要的话),而且制作起来真的很容易。

如果需要,这里有一个例子:

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>

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

有人可以通过其他设备向您发送表单,或者绕过您的必填字段并向您发送空数据或不需要的数据,例如 PHP 注入。

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