5pe25YWJ5aaC6aOO6L2m77yM5Y205LiN5Lya6L2u5Zue44CC5pyd6Zye5LiO5aSV5pmW77yM5Y + q5Zyo6L2s55Sf44CC
今日では、アイデアや説明のPHPコードのPHPの構成監査を学びます
1. MVCを理解します:
MVCフルネームモデルビューコントローラ、モデル(モデル) - ビュー(ビュー) - 略称コントローラ(コントローラ)、およびソフトウェアの設計モデル、サービスロジックと、データ、組織インタフェース表示コードを分離する方法、改善およびカスタマイズインターフェース及びユーザインタラクションは、ビジネスロジックを書き換える必要はないが、部材を収集するビジネス・ロジック。MVCは、グラフィカル・ユーザ・インターフェースにおける論理関数の従来のマッピング入力、処理及び出力のためのユニークな構造を開発しました。
-
モデル(モデル)(例えば、データベースのレコードリストとして)アプリケーションのコアを表します。
-
ビュー(ビュー)表示データ(データベースレコード)。
-
入力するためのコントローラ(制御装置)(データベース・レコードを書き込みます)。
Modelオブジェクトは、通常、データベース内のデータにアクセスするための責任があります。
通常、ビューはモデルデータに基づいて作成されます。
典型的には、コントローラは、ビュー、ユーザ入力制御、及び送信データモデルからデータを読み出すための責任があります。
2.いくつかの一般的なPHPフレームワークを知って理解している doitphp等、そのようなフレームワークthinkphp、YAFように、
3.一般的な監査プロセスは以下のとおりです。
>グローバルフィルタ - - >モジュールファイル - > C関数の内容 - >機能の内容M - > Vが表示ディレクトリを取得します。
一般的な手順4:
プロセス全体を通して(1)読む:関数のセット、コンフィギュレーションファイル、セキュリティ・フィルタ・ファイル、インデックスファイル、一般的にインデックスファイルから起動し、長所:時間がかかる:より包括的なは、掘り込み抜け穴大きなチャンス、短所することができ
(2)敏感なキーワードがバックトラック:効率的に敏感な位置を決定し、そしてあなたは抜け穴を掘るしたいです。しかし、論理的な欠陥でカバーされていない、とプログラムの機能を理解することはできません
(3)部位指向監査機能:プログラムに従って機能を掘るために、(推奨)は、比較的単純かつ効率的です
(4)何が関数にすべての変数は、有害なすべての入力は、(変数の制御に)危険であることが可能である(到着の値を用いて、可変機能が)
二、PHPの設定
メインは、あなたを有効にするには再起動のphpへのphp.iniを変更したときに、通常のみ、PHPの開始時間に読まグローバルphp.iniの設定ファイル、です。
PHP 5.3.0から始まるuser.ini、各ディレクトリの上の.htaccessスタイルINIファイルのためのPHPサポート。このようなファイルはCGI / FastCGIのSAPIプロセスです。この機能は無効htscannerのPECL拡張を行います。あなたは、Apache、同じ効果を持つ.htaccessファイルを使用している場合。役割:.htaccessファイルは、ランプのための擬似静的な環境設定ファイルです。
.user.iniはあなたのウェブサイトのアドレスのフォルダパスを入れLNMPファイルです。目的は、ディレクトリ間のクロスディレクトリのアクセスファイルを防ぎ、読むことです。
1.基本的な設定構文:
•大文字と小文字を区別
•オペレータ:|、&、〜、!
•ヌル表現
FOO =;
FOO =なし;
FOO = "なし"
2.基本設定 - セーフモード
•セーフモード
PHPセーフモード:セーフモード= ON | OFF
セーフモードディレクティブは、共有環境になります有効にしますが、言語の危険にさらされる可能性がPHPを使用した場合の制限を備えています。セーフモードは無効、有効または無効に設定するには、ブール値を参照することができます。これは、より多くのスクリプトの実行UID(ユーザーID)、スクリプトがメカニズムを制限するための基礎としてUIDファイルにアクセスしようとするだろう。同じUID、スクリプトの実行であれば、そうでない場合、スクリプトは失敗します。
•リミットアクセス環境変数
safe_mode_allowed_env_varsに=文字列
PHPプログラムは、このオプションが空の場合、PHPは任意の環境変数を変更することができ、プレフィックス指定した環境変数を変更することができます。以下のような:
safe_mode_allowed_env_varsに= PHP_このオプションが空であるので、PHPがどのような環境変数を変更することができます。
•外部プログラムの実行ディレクトリ
safe_mode_exce_dir = "ホーム/ wwwrootに"
•無効化機能
disable_funtion
より安全な走行PHPのために、あなたは、この指令にいくつかの危険な機能を無効にしたい場合は、D()関数はまた、禁止リストに追加されてはならない、いくつかの敏感な機能の使用を禁止するために、このディレクティブを使用することができ、攻撃者は)ジ(使用することができますブレークdisable_functionへのPHP拡張の定義からロード機能。機能の設定が無効であるときは、カンマで区切られた関数名を使用することができます
•COMコンポーネント
com_allow_dcom =偽
セーフモード(safe_モード)でPHPの設定は、依然として攻撃者がシステム・コンポーネントを作成するために、COM0関数を使用して任意のコマンドを実行することを可能にします。私は、この脆弱性を防ぐために、この機能を閉じることをお勧め
3.基本的な設定 - コントロール変数
●グローバル変数は、登録されたスイッチです
register_globalsの=オフ
レジスタの値を認識するようにphp.iniがデフォルトのオプションは、以前のバージョン4.2へのオフは、デフォルトで有効になっているグローバルレジスタ、_globalsがOnに設定されている場合、プログラムは、フォームの送信を含め、サーバからの環境変数の多様性を受け入れることができます我々は、それがグローバル変数として登録することを任せることはできないので、サーバーが懸念されている変数は、非常に安全ではありません。
●登録します。場合はグローバル=では、POSTを使用したり、変数を提出GETサーバーは、自動的に値を受け取るために、グローバル変数の値を使用します
●リモート・ファイルが含まれている許可するかどうか
オフはallow_url_include =を
構成上の場合、制御された変数をケースに含まれている場合、直接リモート・ファイルを含んでもよく、直接することができる
コードのPHPを実行する制御変数に接続されています
●リモートファイルをオープンできるようにするかどうかを
allow_url_open =には、
URL、デフォルトのカプセル化プロトコルの言及を呼び出すことにより、開閉書き換え書き込み権限にローカルのPHPファイルを許可する
ファイルへのアクセス用のFTPおよびHTTPプロトコルを。
●HTTPヘッダのバージョン情報
expose_php = OFF
HTTPヘッダー情報によって防止は、PHPのバージョンを漏らし
●ファイルアップロードの一時ディレクトリ
upload_tmp_dir =
アップロードファイルを一時的にディレクトリに保存され、システムの一時ディレクトリの設定されていない場合は、使用
●ユーザーがディレクトリにアクセスすることができます
open_basedirの=をE:\ローカルテスト\ WWWは
ないはずですので、PHPスクリプトへのアクセスを避けることができ、指定されたディレクトリにアクセスするためのPHPスクリプトを制御することができ
、このファイルアクセス-危害のphpshellの範囲を制限
●内部エラーオプション
にはdisplay_errors =
ショーのディスプレイ内部エラーPHPスクリプト。ウェブサイトは、PHPのエラーエコーの提案閉鎖後立ち上げました。デバッグする場合
の候補者を、通常はPHPのエラーの表示をオン
レベルの報告●エラー
のerror_reportingは。= E_ ALL&〜E_ NOTICEの
このセットの役割は、トラブルシューティングを容易にするため、すべての問題を示す、最高にエラーレベルであります
これは今日のget内容は、十分に来ます!!
私の時計として開始されます。私は今から見ます。