我目前正在处理注册表单,我决定添加一些必填字段,如电子邮件,密码等。
我想在必填字段上做的唯一验证不是空的,所以我在输入元素中使用了必需的属性。
这样安全吗?或者我是否需要使用额外的PHP验证?
答案 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验证就不会太多。
如果您想要一个很好的注册表格示例,请私下问我,我会发给您!