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 では、少なくとも 1 つのチェックがサーバー側にある必要があります。Javascript はクライアント側のみであるため操作でき、スキップされます。

于 2013-09-28T13:58:58.543 に答える