-4

PHP検証を使用してサーバーに負担をかけたくないため、フォーム検証を含む新しいプロジェクトでJQueryとJavascriptを広範囲に使用しています。そのため、ブラウザで Javascript を無効にしている人々から自分のサイトを制限しています。メタタグを使用してリダイレクトしようとしています:

<meta http-equiv="refresh" content="2; URL=../../enablejs.html">

JavaScriptが有効になっていないと私のサイトにアクセスできないので、これは安全だと思います.

しかし、それでも私はこれについて疑問を持っており、あなたのアドバイスが必要です. それは完全に安全ですか?そうでない場合、私が集中する必要がある領域は何ですか?

4

6 に答える 6

9

これはひどい、恐ろしい考えです。

PHP検証を使用してサーバーに負担をかけたくないため

つまり、実装に負担をかけたくないということです:)

私は関連付けることができます。誰もが二度やるのを嫌います。ただし、サーバー側の検証は交渉可能な余分なものではありません。クライアント側の検証は簡単に回避でき、ユーザーの利便性のみを目的としています。サーバー側の検証は、安全性とセキュリティのために常に必要です。

悪い考えであることは別として、JavaScript をオフにしているユーザーを確実に除外する方法はありません。JavaScript はクライアント側で実行され、その存在または非存在はサーバーに対して簡単に偽装できます。

于 2012-10-18T09:10:45.300 に答える
7

クライアント側のものは決して安全ではありません。サーバー側の検証は常に必要です。それは「負担」ではなく、必需品です。あなたのウェブサイトが (検証されていない) データをサーバーに送信する必要さえありません。ユーザーがサーバー上で行うすべてのことを検証しない場合、セキュリティはありません。

于 2012-10-18T09:11:07.360 に答える
3

PHP検証を使用してサーバーに負担をかけたくないため、フォーム検証を含む新しいプロジェクトでJqueryとJavascriptを幅広く使用しています。

それは大きな負担を節約するべきではありません。ただし、ユーザーへのフィードバックが速くなるはずです。これは良いことです。

そのため、ブラウザでJavascriptを無効にした人から自分のサイトを制限しています。

それは時間の無駄です。JSが無効になっているユーザーからの投稿の割合はごくわずかです。

メタタグを使用してリダイレクトしようとしています

これは非常にユーザーにとって敵対的なことです。

javascriptが有効になっていないと、私のサイトにアクセスできなくなるため、これは安全だと思います。

サーバー側の検証ルーチンを作成する必要がないという意味であれば、それは間違いです。誰かがサイトを攻撃したい場合(誤って不正なデータを送信するのではなく)、HTTPリクエストを手動で作成できます。

于 2012-10-18T09:11:27.563 に答える
3

いいえ、それは安全ではありません。クライアント側の検証はどこにも安全ではありません。javascriptを有効にすると、誰でも検証をバイパスできます。Chromeコンソールを使用すると、検証に気付かずに、入力ボックスやその他の入力メソッドのテキストを変更できる可能性があります。

サーバー側の検証を使用しないと、問題が発生します。

于 2012-10-18T09:12:37.703 に答える
3

いいえ、これは安全ではありません。フォームの検証をブラウザに頼らないでください。ブラウザーでのフォームの検証は、ユーザー エクスペリエンスを向上させるためのものであり、データを保護するためのものではありません。PHP 検証を追加する必要があります。

また、JavaScript を無効にしているユーザーはサイトを使用できないのでしょうか? JavaScript がなくてもサイトを使用できるように、JavaScript を適切に低下させる必要があります。

于 2012-10-18T09:13:23.477 に答える
0

クライアント側の検証を使用すると、「クライアントの入力を決して信頼しない」という災害のレシピになります。クライアントの入力は、GET (URL を含む)、POST、FLash ... です。

すべての入力は、PHP、ASP.net、Java などのサーバー側スクリプト言語で検証する必要があります。PHP を使用する場合は、http: //www.phpclasses.org/ をチェックして、フォーム検証スクリプトとクロスサイト スクリプティング (XSS )。または、zend、codeigniter などのフレームワークで提供される検証クラスを使用します

http://en.wikipedia.org/wiki/Cross-site_scripting

于 2012-10-18T09:20:55.597 に答える