0

ほぼ正確な質問が見つからないようですので、質問したほうがいいかもしれません。

JavascriptからPHPに変数を送信するのは本当に標準的な方法ですか?Javascript内でいくつかの評価を行った後、配列をPHPに送信することを計画しています。変数をあちこちに渡します...配列として再度結合するだけで、前述のようにPHPに渡されます。私は何かが足りないのですか?これを行うためのチュートリアルはほとんど見当たりません。ほとんどの場合、その逆です。つまり、PHP配列からJavascriptへの変換です。セキュリティ上の理由から、PHPに対してJavascriptを実行するようにアドバイスされていないのではないかと思います。

簡単に言えば、後でデータベースに保存されるPHPにJavascript配列を送信するのは危険ですか?私はそれを行う方法を完全には読んでおらず、見つけたほんのわずかなものをスキャンしただけです... json stringify、$ _ POST、json encode、jsondecode。JSからPHPへの受け渡しを行うのが問題なく、それがとにかく私の質問に関連しているので、誰かが私に言及されたもののどれがより良いセキュリティに最適であるかを指摘できますか?ありがとう!

4

1 に答える 1

7

現時点では、セキュリティは実際には問題ではありません。JavaScriptはクライアント側で実行されるため、ここで問題が発生する可能性のあるものはすべて、攻撃者によって簡単に偽造される可能性があります。@Janが上記のコメントに記載しているように、とにかくクライアントを信頼することはできません。また、JavaScript側で行うことはすべて、クライアントによって盗聴および操作される可能性があります。そのため、たとえばJavaScriptでパスワードチェックを行うことはできません。したがって、JavaScriptが動作する環境は、とにかく基本的に安全ではありません。

サーバーがデータを受け入れて使用すると、セキュリティが機能します。データがサーバーに害を及ぼさないように、必要なすべての保護を設定する必要があります。たとえば、エスケープまたはプリペアドステートメントを使用してSQLインジェクションを削除したり、無効な入力文字を適切に処理したりします。

ルールの2つの例外が思い浮かびます。

  • SSL(https://)接続を使用している場合は、JavaScriptがデータをそのように送信することも確認してください

  • 機密性の高いGETパラメーターを使用してブラウザーを新しい場所に送信する:

    http://www.domain.com/newpage?username=pekka&password=superman85069

    URLがキャッシュされる可能性があるため、フォームをPOSTするよりも安全性が低くなります。

于 2012-10-20T17:05:02.917 に答える