PHPのセキュリティのヒントとツール
2009年7月9日-アラファトラーマン
強力なセキュリティ
私は"トピックにあった読んでPHPのセキュリティ"を使って Googleのリーダーです。 私はそれがPHPのセキュリティを定義するすべての人を助け、それが使用を願っています。 ここに私からの段落をいくつかに引用したいのnoupe.comポスト元
PHPは使用中で最も人気のあるWebプログラミング言語、今日の大部分では完璧にhtmlのと一緒に仕事をしながら多くの機能を実行することができます非常に柔軟な構文だという事実によるものです - プラスは比較的簡単に初心者のための学習には、まだそれが十分に強力だだ上級ユーザのためだけでなく。 また、非常によく、ApacheのWebサーバとMySQLデータベースなどのオープンソースツールを動作します。 言い換えれば、その汎用性は、比類のないときに他のスクリプト言語に比べて、それは多くのプログラマのための選択の言語ている。
また攻撃の様々な種類は、PHPは、特に脆弱性が存在します。 攻撃の2種類が人間の攻撃や自動化された攻撃です - 両方が潜在的にウェブサイトを破壊することができます。 PHPのセキュリティの目標は、最小限に抑え、最終的、未確認のユーザーによるサイトへのアクセスを排除するための場所に国防のstrategic行を置くことによって両方の人間と自動化された攻撃の可能性を排除します。 あなたがこれを行うに行く方法は、最初のPHPのセキュリティ侵害の最も一般的な種類を対象とするが、そうすることは、悪意のある攻撃からあなたのウェブサイト気密を確認します。 さて、PHPのセキュリティ侵害の最も一般的なタイプは何ですか?
最も一般的なPHPのセキュリティの脆弱性
1。 Register_Globalsに
register_globalsがアプリケーションを簡単で便利な開発のためのPHP書くになりますが、それはまた、潜在的なセキュリティリスクをもたらす。 この設定は、php.iniのはPHPの設定ファイル内に位置し、それがいずれかのオンまたはオフにすることができます。 時オンになって、それはユーザがアプリケーションにお客様のウェブサイトへの管理アクセスを得るために変数を挿入する未できます。 ほとんどの場合、PHPのセキュリティ専門家がregister_globalsをoffにはお勧めできませんすべての場合。
だからではなく、register_globalsの設定に依存するのではなくPHPの定義済みの変数を通じて、$など_REQUESTに行く必要があります。 さらにセキュリティを強化するには、また、使用して:$ _ENV、$ _GETを、$ _POST、$ _COOKIE、または$ _SERVERの代わりに_REQUESTより一般的な$を使用して指定する必要があります。
2。 エラー報告
エラー報告のバグを診断し、それらを迅速かつ簡単に修正することができますための素晴らしいツールですが、それはまた、潜在的なセキュリティの脅威となる。 それはあなたのソースコードを、ハッカーが簡単に利用できるの潜在的なセキュリティホールを明らかにするため、問題は、エラーが他の人に見えるように画面が発生します。 display_errorsをオフになっていない場合、または"0"の値が、出力は、エンドユーザのブラウザに表示されます - セキュリティのためによくない! ただし、上にあるいはlog_errorsを設定し、やりたいし、error_logにしてログの正確な位置を示しています。
3。 クロスサイト(XSSのスクリプト)
クロスサイトスクリプティング、またはXSSの、道のハッカーがユーザー、または、ブラウザをだまして悪質なマークアップやJavaScriptコードを使用して、悪いリンクをたどるか、偽のログイン画面には、ログインの詳細を提示するWebサイトのユーザーデータを収集することです代わりにそれらを記録する、それが自分の個人情報を盗みます。 ネットサーフィンをしながら最善の方法はXSSの防御を無効にするJavaScriptと画像ですが、我々はすべてのことはほとんど不可能ので、多くのウェブサイトこのごろJavaScriptの豊富なアプリケーション環境を使用している知っている。
便利なのはXSSに対する保護するための便利なPHPのはhtmlentities()の関数を呼び出したとき。 この単純な関数は、HTML内の対応するエンティティに二重引用符"<""未満に変換する"()などのすべての文字を変換することによって動作します。
4。 リモートファイルのインクルージョン(RFI)の
この種の攻撃が比較的PHPのセキュリティには特に有害な脅威になります開発者の間では不明である。 リモートファイルのインクルード、またはRFIを、リモートの場所からの攻撃を含むを悪用する脆弱性がPHPアプリケーションとやスパムもサーバーのルートフォルダへのアクセスを獲得する目的のために悪意のあるコードを挿入します。 未ユーザーが任意のサーバーにアクセスするさまざまな方法でウェブサイト上で個人情報をデータベースに格納されて悪用などの主要大混乱をもたらすことができます。
最良の方法はRFIの攻撃からあなたのサイトを確保するためにphp.iniディレクティブを介して - 具体的には、allow_url_fopenをとはallow_url_includeディレクティブ。 allow_url_fopenをディレクティブがデフォルトで設定され、はallow_url_includeオフに設定されます。 これら2つの簡単なディレクティブは、十分にRFIの攻撃からあなたのサイトを保護します。
他のPHPのセキュリティツール
- PhpSecInfo
PHPの環境ではこの便利なツールレポートのセキュリティ情報、すべての最高の、それがエラーを改善するための提案をしています。 これは、ダウンロード可能な"修正BSD"ライセンスの下で、しかもPhpSecInfoプロジェクトは、常によりPHP開発者のため、このツールを改善するため探しています。
このツールは、脆弱性のためにPHPコードをスキャンするために使用され、それは任意のディレクトリをスキャンするために使用することができます。 PHPのセキュリティスキャナは、潜在的な問題のより良い視覚化のための有用なUIを備え、それは検索するディレクトリまたはファイルをフィルタリングの基本的なワイルドカード検索機能をサポートしています。
スパイクPHPのセキュリティ監査ツールは、PHPコードの静的解析を行うためのオープンソースのソリューションです。 これはセキュリティの悪用を検索する場合は、開発プロセス中にそれらを修正することができます。































