2

这是一个简单的问题。我有一个用 html 和 PHP 制作的注册表单。我希望它在一个人输入他的信息时更新。当一个人输入他的名字时,它使用 javascript 检查该框是否为空。如果它不为空,您可以继续,否则您会收到一条消息,说您必须在该字段中输入一些数据。

我的问题是,这是检查此人是否输入任何内容的安全方法吗?还是应该在服务器端使用 PHP,以便我可以确定不会将空信息输入数据库?

4

2 回答 2

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'),
      )
    );
  }
}
于 2013-09-28T13:57:31.733 回答
1

您永远不应该使用 javascript 作为脚本中的唯一检查。PHP 中至少需要在服务器端进行一项检查。Javascript 可以被操纵,因为它只是客户端,所以被跳过。

于 2013-09-28T13:58:58.543 回答