コード監査アイデアやPHPの設定

5pe25YWJ5aaC6aOO6L2m77yM5Y205LiN5Lya6L2u5Zue44CC5pyd6Zye5LiO5aSV5pmW77yM5Y + q5Zyo6L2s55Sf44CC

 

今日では、アイデアや説明のPHPコードのPHPの構成監査を学びます

1. MVCを理解します:

MVCフルネームモデルビューコントローラ、モデル(モデル) - ビュー(ビュー) - 略称コントローラ(コントローラ)、およびソフトウェアの設計モデル、サービスロジックと、データ、組織インタフェース表示コードを分離する方法、改善およびカスタマイズインターフェース及びユーザインタラクションは、ビジネスロジックを書き換える必要はないが、部材を収集するビジネス・ロジック。MVCは、グラフィカル・ユーザ・インターフェースにおける論理関数の従来のマッピング入力、処理及び出力のためのユニークな構造を開発しました。

: - MVCを使用して(モデルビューコントローラモデルビューコントローラ - )MVCは、Webアプリケーションのデザインパターンを作成します。
  • モデル(モデル)(例えば、データベースのレコードリストとして)アプリケーションのコアを表します。
  • ビュー(ビュー)表示データ(データベースレコード)。
  • 入力するためのコントローラ(制御装置)(データベース・レコードを書き込みます)。
MVCモデルHTML、CSSおよびJavaScriptを完全に制御を提供しながら。
モデル(モデル)は、アプリケーションデータのアプリケーションロジックを処理する部分です。
  Modelオブジェクトは、通常、データベース内のデータにアクセスするための責任があります。
ビュー(ビュー)は、部分処理データアプリケーションです。
  通常、ビューはモデルデータに基づいて作成されます。
コントローラ(制御装置)は、ユーザとの対話を処理するアプリケーションの一部です。
  典型的には、コントローラは、ビュー、ユーザ入力制御、及び送信データモデルからデータを読み出すための責任があります。
一度に一つの側面だけに焦点を当てることができるので、MVCの階層は、複雑なアプリケーションを管理するのに役立ちます。たとえば、ビジネスロジックに依存することなく、ビューで、デザインに焦点を当てることができます。しかし、また、テストアプリケーションをより簡単にできるように。
MVC階層は、開発を簡素化しグループ化します。別の開発者は、コントローラロジックとビジネスロジックを同時に開発し表示することができます。
図は、彼の作品のフローチャートです。
 

 

 

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内容は、十分に来ます!

私の時計として開始されます。私は今から見ます。

 

おすすめ

転載: www.cnblogs.com/4sh3s/p/12630166.html