这是一个简单的问题。 我有一个用html和PHP制作的注册表。我希望在一个人输入他的信息时更新。当一个人输入他的名字时,它会使用javascript检查该框是否为空。如果它不为空,您可以继续,否则您会收到一条消息,说您必须在该字段中输入一些数据。
我的问题是,这是一种检查此人是否输入任何内容的安全方法吗?或者它应该是PHP的服务器端,以便我可以确保不会将空信息输入数据库?
答案 0 :(得分:2)
它应该是两个,真的。服务器端验证是绝对必要的。从用户体验的角度来看,客户端验证是对服务器端验证的补充。
最好看看一些比较流行的PHP框架,看看他们如何解决这个问题。验证规则通常保存在模型中。例如,Kohana 3.3中的用户身份验证如下所示:
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Model_User extends Model_Auth_User {
public function rules() {
return array(
'username' => array(
array('not_empty'),
array('max_length', array(':value', 32)),
array(array($this, 'unique'), array('username', ':value')),
),
'password' => array(
array('not_empty'),
),
'email' => array(
array('not_empty'),
array('email'),
array(array($this, 'unique'), array('email', ':value')),
),
'first_name' => array(
array('not_empty'),
),
'last_name' => array(
array('not_empty'),
)
);
}
}
答案 1 :(得分:1)
你永远不应该使用javascript作为脚本中的唯一检查。至少有一项检查需要在PHP中作为服务器端。 Javascript可以被操纵,因为它只是客户端,因此被跳过。