0

PHP、HTML、そしてまず JavaScript で書かれた Web ページがあります。ブラウザの設定でJavaScriptを有効にしていない、またはJavaScriptに対応していない人のWebページへのアクセスをブロック(ページへのアクセスを拒否してメッセージを表示)したい.バグ (セキュリティ バグも!)。HTMLでステートメントを書くことができることは知ってい<noscript>ますが、このテキスト以外のものが表示され、それも削除できます(たとえば、インスペクター機能はブラウザーです)。JSがないと、ページにバグが含まれていると言いました。それで、私の質問: PHP を使用して私のページへの JS をサポートしていないユーザーのアクセス*をブロックする方法はありますか? 他の提案は大歓迎です:)

*アクセスをブロックする手段 - メインページへのアクセスを拒否し、メッセージを表示する

4

4 に答える 4

4

これは、真に安全な方法で行うことはできません。

はい、空白のページを提供するだけで、JS を使用して実際にコンテンツをロードすることができます (たとえば、AJAX 経由)。しかし、ここに本当の問題があります:

ユーザーはブラウザを制御できます。JS はクライアント側のコードです。攻撃者は、JS を実行する、実行しない、または変更してから実行することを選択できます。攻撃者は独自の JS を実行して、関数を呼び出したり置き換えたりすることさえあります。JS に依存するセキュリティは、デフォルトで壊れています。

そのため、JS コードによって非表示になっているページに警告メッセージを表示したり、JS を使用してコンテンツをロードしたりすることはできますが (人々はそうしています)、安全ではありません。

于 2013-08-29T19:08:45.013 に答える
0

他の回答とコメントには、Javascript を使用して技術的にアクセスを実際にブロックできない理由に関する多くの詳細が既に含まれていますが、JS が有効になっている場合にのみ何かを行う簡単な回避策は、DOM の読み込み後に JS 関数を呼び出すことです。

  <script type="text/javascript">
    window.onload = do_something();
  </script>
</body>
</html>

do_something() には、ブロック要素の可視性を切り替えるなどの単純なことを含めることができます。たとえば、非 JS メッセージを非表示にしたり、AJAX ローダーを起動したり、上記で既に提案されていることから何か他のことを実行したりできます。

于 2013-08-29T19:23:18.147 に答える