0

私はphpでプロジェクトを行っており、codeigniterを使用しています。その中でフォームの検証を行う必要があり、サーバー側の検証またはクライアント側の検証のいずれかを使用するのが混乱しています。

サーバー側の検証またはクライアント側の検証のいずれかで、ソーシャルネットワーキングサイトに何が適していますか?

検証のためにFacebookやTwitterでどのような戦略が使用されているか知っている人はいますか?

4

6 に答える 6

4

両方ですが、どちらかを選択する必要がある場合は、サーバー側です。

クライアント側の検証により、フォームがよりアクセスしやすく、ユーザーフレンドリーになります。エラーがあることを知らせるためだけにページを更新して、ユーザーの時間を無駄にすることはありません。

クライアント側の技術、主に JavaScript は無効にすることができ、検証はまったく行われません。

私は常に両方を提案します。

jQuery を使用している場合、これは私の (そして人気のある) お気に入りです: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

CodeIgniter には独自のフォーム検証ライブラリがありますが、代替手段を探している場合は、PHP jQuery Validation プラグイン クラスを調べてください。これは、先ほど述べた jQuery プラグインを模倣しています... PHP のみです。

于 2012-01-02T06:29:35.620 に答える
1

クライアント側の検証も使用するかどうかに関係なく、常にサーバー側の検証を使用する必要があります。クライアント側から取得するものはすべて信頼すべきではありません。

于 2012-01-02T06:29:06.673 に答える
0

本当に検証したいものに依存します。検証にデータベースからのデータが必要な場合、その意味では、「サーバー側」の検証、または少なくともサーバー支援のみを使用できます。

ただし、これらは正確な用語ではなく、最近では、検証は通常Ajaxで行われ、サーバー側のデータを使用している場合でも、クライアント側に見えます。これが現在の傾向です。

于 2012-01-02T07:08:52.397 に答える
0

ソーシャル ネットワーキング サイトの場合、検証を 2 つの部分 (つまり、クライアント側とサーバー側) に分割する必要があります。ソーシャル ネットワーキング サイトには 2 つの問題があるためです。

セキュリティとプライバシーに問題がないものについては、クライアント側の検証 (電子メール ID 構文または生年月日構文の検証など) やその他のもの (電子メール ID が実際に存在するかどうかの天気やその他のパスワード関連の検証など) を使用できます。 ) はサーバー側にある必要があります。

ポイントは、誰でもクライアント側のスクリプトを編集してフォームをサーバーに送信できるということです。これは悪い習慣です。

したがって、クライアント側の検証の後、(実際には必要な) サーバー側の検証を行うことをお勧めします。

于 2012-01-02T07:27:43.280 に答える
0

サーバー側の検証は、完全に制御できるため、必須です。つまり、不要で違法なデータ入力などを防御する準備がすでに整っているということです。クライアント側もすでに作成されていますが、IEではjavascriptがデフォルトでオフになっているため、オフにすることができます。したがって、受信データがまったく検証されない可能性があるというリスクが残ります。

サーバー側の検証を行うことで、常にこれを防御できます....

したがって、サーバー側の認証は、無効になっている JavaScript が検出された場合にのみ機能するように微調整できるため、双方向の保護が提供されます!!!

私でさえ、どちらも本質的であり、実際にはサーバー側がより重要であることをお勧めします (SQL/ACCESS/ORACLE で自動トリガーを使用できれば、サーバー側スクリプトの必要性が大幅に軽減されます) :)

于 2012-01-02T07:51:59.300 に答える
0

Clientside validation is useful for good user-experience only. It cannot be trusted. The http request can be easily modified by commonly found browser tools to bypass all client validation.

Serverside validation is a must.

于 2012-01-02T06:34:59.657 に答える