1、SQLインジェクション
他のSQLインジェクション攻撃によってデータベースが、他の人があなたのデータベースを消し、そしておそらくもっと深刻な結果ことができれば、SQLインジェクションは、あなたのサイトへの最大の脅威の一つです。
ソリューション:
二つの主要なソリューションがあります。ユーザ入力データまたはステートメントを使用してパッケージ脱出。パッケージをエスケープする方法が良いの関数である、不要なタグを削除するには、ユーザーによって提出されたデータをフィルタリングするために使用されます。しかし、私はこの取引を行うためにあらゆる場所でそれを忘れるために、より簡単で、この方法を使用することはお勧めしません。
以下は、私は、パッケージの文(mysqi、あまりにも)を実行するためにPDOを使用する方法について説明します:
1 2 3 4 5 6 7 |
|
2、XSS
また、CSS(クロスサイトスクリプト)として知られているXSS、クロスサイトスクリプティング攻撃。これは、ユーザーがページを閲覧する際に、htmlコードに悪意のあるWebページを挿入するには、悪意のある攻撃者を指し、HTMLコード内に埋め込まれたWebは、悪意のあるユーザーの特定の目的を達成するために実行されます。
ソリューション:
入力中のすべての特殊文字から任意のユーザからの入力、およびフィルタを信じていないと判断。これは、XSS攻撃のほとんどを除去することができます:
1 2 3 |
|
それとも、テンプレートエンジンを使用することができ、小枝、一般的なテンプレートエンジンは、出力プラスにhtmlentities防止をデフォルトとします。
3、XSRF / CSRF
CSRF CSRFの略称であり、サイトを訪問し、いくつかの操作を実行するために認定されたら、ユーザーをだましするための多くの技術によって、攻撃者です。
ソリューション:
最も一般的な方法は、一般的に、トークンと呼ばれる防衛CSRF暗号化されたセキュリティトークン文字列を生成するためのものであり、トークンやクッキーはセッションに保存されています。
Webページでフォームを構築するたびに、トークントークンは、フォームで隠しフィールドに配置されますが、フォームがトークントークン比較して、ユーザーのクッキーやセッションに基づいて行われます、検証が唯一のサーバによる要求の後与えることに成功します。
攻撃者は、トークントークンの内容(各フォームトークントークンがランダムである)を知ることができないので、ユーザになりすますことができないからです。