0

すでに他の場所で説明されている場合は申し訳ありません。検索して検索しましたが、答えが見つかりませんでした。

最初は、この通知を見て修正したくなりましたが、熟考すると、どのような害が生じる可能性がありますか?

以下の例では、悪意を持って悪用される可能性があるのはどのような方法でしょうか? 彼らがおそらくできなかった場合、誰かがこの「未定義のインデックス」通知が問題を引き起こす可能性がある例を私に与えることができますか?

if($_GET['action']=="update"){   ~code~  }

上記の例は「isset」を使用するだけで簡単に修正できることはわかっていますが、次のようなコードを含むフォームを中心に展開する以下のような通知のある他の領域があります。

print "<input value='".$_POST['value']."'>";

上級ユーザーが脆弱性を利用する可能性はありますか?

4

3 に答える 3

3

通知は、セキュリティの問題に関する警告ではありません。ロジックのエラーを防ぐのに役立ちます。このインデックスを求めていますが、存在しません:

  • 存在する必要がありますか?なぜ前に設定しなかったのですか?
  • 削除されましたか?なんで ?まだアクセスできるはずですか?
  • キーが変わった?を呼び出すときに、なぜその変更を考慮に入れなかったのですactionか?

これは単に PHP が優れているだけです。これは存在しません。初期化しますが、何かが見つかるとは思っていませんでしたか?

PHP は非常に緩いことに注意してください。これは、アプリケーションを迅速に作成し、プログラマーが詳細ではなくロジックに集中できるようにすることを目的としています。通知 (最近実装された) は、最初の小さな間違いでプログラム全体を停止することなく、ロジックをよりクリーンにする方法です。

もちろん、これは非常に良い習慣です。すべての警告、エラー、および通知を修正して、ロジックが意図したとおりに動作するようにします。コンピューターは愚かです、それは事実です。あなたがばかげたことを彼らに頼んだとしても、彼らはいつもあなたが求めるようにします。

于 2013-10-03T08:16:52.237 に答える
1

一般的に: 誰かがあなたの PHP メッセージを見ることができれば (通知/警告に関係なく) - 彼はあなたのスクリプトに関するいくつかの情報を知っているでしょう: おそらく、それは構造であり、使用されている変数とパラメーター名などです - つまり、通常の場合に見てはいけません。その情報を使用すると、いくつかの有害なアクションを実行するのがはるかに簡単になります.

ただし、セキュリティだけではありません。いずれにせよ通知があるということは、何か問題が発生した可能性があることを示しており、その点に注意を払う必要があります。私の提案は、エラーレベルで通知/警告を生成しないコードを作成する必要があるということです。

于 2013-10-03T08:19:57.903 に答える