私はいくつかのjqueryおよびJS関数を使用してフォームを検証し、たとえば、そのフィールドが空であるか、パスワードが6文字未満であるかどうかを確認します。そのようなもので、誰かがJSを無効にすると、これらの関数は役に立たなくなることに気付きました。 PHPを使用してより適切に作成できるフォームの保護はこれ以上ありません。これにより、Webサイトが侮辱される可能性があるため、今すぐフォームを回避する必要がありますか?
7 に答える
JavaScriptは、サーバーで行われるリクエストの数を減らすとともに、ユーザーの操作を改善するのに非常に役立ちます。ただし、ご指摘のとおり、無効にすることができます。あなたの質問に答えるには:いいえ、JavaScriptの使用を避けることはお勧めしませんが、重要なのは検証などの重要なアクションでJavaScriptに依存しないことです。クライアント(JavaScript)側とサーバー(PHP)側の両方で検証を実装する必要があります。これにより、ユーザーが検証を完全に無効にする方法がなくなります。
要するに:
- JavaScript=良い
- JavaScriptの検証=ユーザーにとっては良いのですが、信頼性はありません
- サーバー側の検証=必須
サイドノート:
他の回答が示唆しているように、全体的なユーザーインタラクションをJavaScriptに依存することに関しては、JavaScriptを使用して全体的なエクスペリエンスを向上させますが、ユーザーがJavaScriptをオンにしていることに依存しないでください。プログレッシブエンハンスメントを少し読んでおくことをお勧めします。これは、何かをより良くするためのアプローチであり、それに依存しており、JavaScript(CSS3など)以外にも適用できます。
サイトの機能を強化するには、javascriptとjQueryを使用する必要があります。誰かがjavascriptをオフにしている場合は、サイトが引き続き機能し、トランジションやエフェクトなど、見えないものがある場合でも、すべての領域にアクセスできることを確認する必要があります。
検証に関しては、常にサーバー側を検証する必要があります。クライアント側の検証はオプションですが、訪問者のユーザーエクスペリエンスを向上させるための非常に優れた機能です。
これは苦情ではなく、単なる観察です。
Web 開発者は、Javascript ライブラリを最新のピカピカのおもちゃとして、結果を考えずに手に入れることがよくあります。データ ガバナンス担当者として、収集したデータの監査を行い、Javascript の検証を通過したユーザーを見つけると、私は定期的に悪いニュースをもたらします。
「戻ってやり直す」。
Javascript ライブラリは、データの表示には優れていますが、データの検証とユーザー プロファイルの整合性のために依存する必要があります。
WebサイトでJSとjQueryを使用することは避けてはなりませんが、検証目的またはビジネスロジック目的で使用することは避けてください。これらは、UIレベルではなく、Webサイトのバックエンドで実行する必要があります。
検証は常に発生する必要があります
- クライアント側- JavaScript を使用してユーザー エクスペリエンスを向上させます。
- サーバー側- セキュリティ上の理由から、推奨されるサーバー側プログラミング言語を使用します
- サービス側- 防御的プログラミングの実践の一環として SOA / Web API に従っている場合。これは、サービス層とともに DB レベルでも可能です。
あなたは本当にそれらを避けるべきではありません。あなたがすべきことは、クライアントとサーバーの両方の検証を実装することです。先ほど述べた理由から、クライアントの検証だけに頼らないでください。データがサーバーに到着したときに、常にデータを検証する必要があります。
クライアント側の検証を追加すると、ページに動的なルックアンドフィールが与えられます。ユーザーはフォームがサーバーに移動するのを待つ必要はなく、エラーが発生した場合は戻ってきます。ポストバックなしで自動的に検証されます。
上で述べたように、クライアント側の検証に依存しないでください。サーバー側の検証も常に実装してください。
私の友人を思い出してください。Javaスクリプトはクライアント側のスクリプトです。クライアント側でフォームを検証する目的で、オーバーヘッドを回避できます...クライアント側でJavaスクリプトを使用する必要があります。PHpはサーバー側の言語だからです。返信には時間がかかります。
ハ、サーバーサイドの検証も同様に重要です。それを実行したい場合は、サーバー側の言語を使用できます。ハーフラーによる私の投稿への以下のコメントをチェックすることができます。サーバー側の検証は、セキュリティやその他の多くの目的にとって重要です。
これは、誰かがjsを無効にしたこととは異なります。同じことを確認し、有効にするための適切なメッセージを表示できます。