0

私は初めての php/mysql サイトをコーディングしていますが、コースや本で学んだ以上のセキュリティについてほとんど知らないことに気付きました。ささやかな成功を収めてもハッカーを引き寄せ、自分のサイトが侵入されることを心配せずに、自分のサイトを公開するには、どのくらいのセキュリティ知識が必要ですか?

それがより具体的に役立つ場合は、ユーザーがプレーンテキストコンテンツを追加したり、他のユーザーが追加したものを閲覧したりできるサイトを作成しています. テキストはデータベースに保存されることを意図しています。

4

4 に答える 4

3

すべてを知ることはできないため、コードにどのような攻撃ベクトルがあり、どのようなリスクがあるかによって異なります。

自問してみてください:

このリストは完全ではありませんが、単純な Web アプリケーションとそのセキュリティ上の脅威の最も一般的な使用例をカバーする必要があります

リスクについて:

ユーザーの重要な個人データを処理したり、独自の仮想サーバーでサイトをホストしたりするとすぐに、最悪の場合、サイトが壊れる可能性があるだけでなく、個人データが公開され、サーバーが変化する可能性があるため、追加の責任が発生します。スパムボットまたはさらに悪いことに。

最も重要なルールは次のとおりです

初心者にとって重要なこのルールの拡張: 現在のコンテキストに合った対策を正確に使用してください。あなたが知っているすべてのものをユーザー入力でスローしないでください。それがより安全になることを願っています。これは逆効果です。addslashes(mysql_real_escape_string(strip_tags(htmlspecialchars())))「すべての $_POST 変数で使用した場合、アプリケーションは安全ですか?」というような質問をよく見かけます。- これが有効なアプローチであると考えたとしても、ユーザー入力に関するセキュリティがどのように機能するかについて重大な誤解があります。繰り返しますが、何が安全で何が安全でないかは、常にコンテキストに依存します!

学ぶのに最適なリソースは、Open Web Application Security Projectです。

于 2013-02-12T13:05:41.310 に答える
2

それは決して十分ではありません。しかし、うまくいけば、あなたは改善し続けるでしょう。そして、おそらく準備ができたときに、あなたは自分自身を知るでしょう.

次のような最も一般的なセキュリティの問題について学びます。

  • SQL注射
  • フォームのなりすまし
  • XSS

次のことを忘れないでください。

  • ユーザー入力を常に有効にする (セッションを含む)
  • 公開してはならないフォルダーへのアクセスをブロックする
  • パスワードにmd5/sha1の代わりにblowfishを使用する
  • エラーをエンドユーザーに隠します(そしてログに記録します)

また、最も有名なセキュリティ問題をまとめたこのガイドもご覧ください。

于 2013-02-12T12:34:16.590 に答える
1

SQL インジェクションと XSS を調べてください。それはすべて、ユーザー入力の検証にあります。ユーザーを決して信用しないでください。

SQL インジェクション

XSS

最後に学習するための最良の方法は、セキュリティが悪いために攻撃を受けることです。次に、それがどのように機能するかを理解します。1 つのヒントとして、バックアップを作成します。

于 2013-02-12T12:33:17.080 に答える
0

Web サイトで最も重要なことは、ユーザーがデータベースにテキストを提供できることです。SQLインジェクションを防ぐ方法についての良い答えについては、stackoverflowでこの質問を読んでください。 PHPでSQLインジェクションを防ぐ方法

于 2013-02-12T12:35:12.380 に答える