オラクルのPHP(57)を学ぶために私に従ってください

shop34-11- プロファイルシステム

プロファイル

アプリケーションには、ディレクトリ、サブディレクトリの追加設定に表示されたプロジェクト管理のためのコンフィギュレーション・ファイルを:

 

 

デザイン、設定ファイル、ストアデータ形式:

するために、比較可能管理

 

 

初期化プロジェクトは、コンフィギュレーション・ファイルをロードする際に、設定情報

フレームワーククラス、ローディングの動作構成に増やします。

 

一定の初期化の完全なパスは、設定の初期化を完了することができます:

 

 

使用するコンフィギュレーションを:

分布のパラメータ:

 

 

データベースサーバー情報:

モデル

 

SessionDB

 

 

shop34-12- 防ぐためのSQL インジェクションを

項目防止するために添加 SQLのコードインジェクションを

MySQLdbでは、ターン完了することができます追加 -defined あなたが呼び出す必要があるときには、モデルでは、方法を!

/ * 防止、SQL インジェクションは、自動的に伝統的な価値観をエスケープ* /

関数escapeString($ strの){

返します$ this-> DB->($ strを)real_escape_string。

}

 

 

 

 

プロジェクトでは、使用 AdminModel 、完全な変換を:

 

 

するために避ける、整数データはないかもしれない SQLは、引用符力増大パッケージデータを変換引用符。

 

パッチワークのSQLの引用符を追加することなくデータ

 

 

 

先端:

PHPでマジッククオート( PHPでマジッククオート)は、自動的にデータを要求(GET POSTが)増加脱出防止SQL インジェクション機構が。

 

 

 

shop34-13-DAOの層を抽出します

プロジェクトのためで PDOを使用

PDOの使用は、実現のMySQLdb DAO 外部オブジェクト操作と一致する追加の一種のDAOの実装を行うことができるモデル切替 DAOを、モデル(ホットスワップ、シームレスなハンドオーバ)の任意のコードを変更する必要がされていません

 

DAO増加インタフェースの動作(I_DAO) すべての DAO 定義 MySQLの拡張、PDOの拡張)があろう達成同じDAOのオペレータインタフェースを(I_DAO)

 

 

 

 

 

shop34-14- 背景ホームショー

背景ホーム機能

主な機能

フレームセットのレイアウト、各フレーム、する必要性機能アクションのプロジェクトを要求し、最終ショーの完成!

 

戻る/ ManageController-> indexAction()

 

 

完全なバックグラウンドモード版のindex.html

 

 

フレーム機能

 

 

実装に対応するビューテンプレートを:

 

shop34-15- プラットフォームコントローラ- 集中認証

背景公共ログイン認証 - プラットフォーム・コントローラー

背景だけでなく、 Manage-> indexaction()が必要ですログイン認証を、そして他のアクションはログイン認証する必要があります。

動作は、現在のプラットフォーム共通のコントローラ機能の背景に属します。

 

プラットフォームコントローラの背景を増やし、適切な検証を完了します。

 

他のコントローラでプラットフォームは、プラットフォームコントローラから継承されます。

 

 

 

 

検証ログイン操作に移動し PlatformController

実装:

 

 

通話の機会:

(コンストラクタが実行される)場合、オブジェクトの背景コントローラをインスタンス化します。

 

 

テスト:

 

すでに検証済みでログインして、ログオンにジャンプしますが、ログインページが正しくロードされないではないが見つかりました:

なぜ

要求管理者ログイン時間、私たちは、ログインするかどうか、ではないにジャンプで判断しなければならない管理者ログイン無限ループになり、。

 

可視:アクション舞台裏ログイン検証の大半は、実装に必要とされるが、例外があります、関連のログインパスワードなどを回復します。

ときにアクションは特殊なケースの判断ではない場合、それは、ログインするかどうかを判断する必要があります。

特殊なケースを確認する方法?

 

 

 

オープン以来セッション公共の場所では、バックグラウンドでの動作は、あなたが再オープンする必要はありませんセッションで:

adminController->()アクションをチェック

 

 

 

shop34-17- ログイン認証コード

コードの分析

ログイン:ブルートフォースを防ぎます

フォーラム:灌漑水を防ぎます

ディスプレイのカテゴリは:クロールします。

 

 

 

技術ニーズ:

画像処理技術。

セッションセッション技術。

 

 

PHPの画像処理技術 - GD 

具体的な手順

オープン GDの拡張

 

Apacheの再起動

 

 

シーン:

生産 500×300 グリーン写真

キャンバスの作成

キャンバス、リソースタイプのデータ。画像リソース操作。

 

作成新しいキャンバスを(新)

ImageCreate(、高さキャンバスに基づいてパレットを作成します。

imageCreateTrueColor(幅、高さ);作成の真の色キャンバス。

基づいてキャンバスを作成するために、画像(オープン)

imageCreateFromJPEG(ピクチャアドレス)。

imageCreateFromPNG(ピクチャアドレス)。

imageCreateFromGIF(ピクチャアドレス)。

 

 

 

 

営業キャンバス

割り当て色を:あなたは場合はキャンバスに色を使用する必要がある、あなたがすべきことキャンバスに割り当てられた色。

使用する機能を:

識別  = imageColorAllocate(キャンバス R&LT G B)。

表現:

RGB

 

 

 

充填されたキャンバス:充填点、及び連続同じ色ポイントのための充填(置換)

使用する機能を:

(ImageFill キャンバス充填位置 X  充填の位置 Y 完了するために皮膚を)

場所の座標管理を使用しました:

原産地 0 0は、キャンバスの左上隅を。

Xが増大するγ軸、下方向にYは、 γ軸が増加します。

右下隅には、座標:幅1、高さ-1

 

 

出力キャンバス

キャンバスディールパターン情報、および出力します。

 

典型的な

1つの画像ファイルに出力。

2 ダイレクト出力。

使用する機能を:

imagePNG(キャンバス[、ファイルアドレス]):

imagejpeg();

imagegif();

何の場合は2番目のパラメータは、ダイレクト出力を表していません。

 

 

 

 

直接の場合は、ブラウザへの出力は、ブラウザに指示する必要があり、応答データ種類があるべき PNG形式の画像:

使用説明書コンテンツタイプ

 

ヒント:キャンバスを出力することができる何回も、出力フォーマットのさまざまな!

 

 

破壊キャンバスリソース

imageDestroy();

 

 

プロジェクトで実装コード

コードツールカテゴリ

フレームワーク/ツール/ Captcha.class.php

 

 

自動負荷:

 

 

生成CAPTCHAイメージは:

 

セッションの重複を避けるために開いています:

 

 

背景場所:

 

 

ログインフォーム際ショー

することにより、ログインフォームページ IMGタグ、生まれ要求画像のURL アドレスと表示画像。

<IMG SRC =」URL」/>

 

増加ログイン画面背景画像認証コードを生成が完了するの作用:

戻る/ AdminController-> captchaAction();

 

 

ページのimg タグのsrc 属性、要求されたアクション:

 

 

ヒント:場合は、画像の表示が失敗し、どのようにデバッグするには?

それはすべき直接リクエスト生成された画像を扱うというよりも、のimg [表示]タブを。

 

私のプログラムは、あるべき captchaAction()もログイン認証の例外としてリストされています。

背景プラットフォームコントローラの:

 

 

結果

 

 

クリックして交換します:

することで、イベントをクリックして、新しい形成するために、生産検証画像アドレスの再要求ディスプレイに確認コードを!

IMGの場合、タグのsrc 属性が変更され、新しいブラウザがします、URL リクエストを、表示されるIMGを画像領域内。

 

おすすめ

転載: www.cnblogs.com/RighTgraM/p/10971455.html