ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP トークン検証の例_PHP チュートリアル

ThinkPHP トークン検証の例_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:24:42723ブラウズ

ThinkPHP にはフォーム トークン検証機能が組み込まれており、リモートからのフォーム送信やその他のセキュリティ保護を効果的に防止できます。
フォームトークン検証に関連する構成パラメーターは次のとおりです:

リーリー

フォームのトークン検証機能がオンになっている場合、システムはフォームのテンプレート ファイルに TOKEN_NAME という名前の隠しフィールドを自動的に生成します。その値は TOKEN_TYPE によって生成されたハッシュ文字列であり、トークンの自動コマンドを実現するために使用されます。カード認証フォーム。

自動生成された隠しフィールドはフォーム終了マークの前に配置されます。隠しフィールドの位置を制御したい場合は、フォーム ページに __TOKEN__ マークを手動で追加すると、テンプレートの出力時にシステムが自動的に置き換えます。フォームのトークン検証がオンになっており、個々のフォームでトークン検証機能を使用する必要がない場合は、フォーム ページに __NOTOKEN__ を追加すると、システムは現在のフォームのトークン検証を無視します。

ページ上に複数のフォームがある場合は、__TOKEN__ 識別子を追加し、トークン検証が必要なフォームが 1 つだけであることを確認することをお勧めします。

データ オブジェクトの作成時にモデル クラスはフォーム トークンの検証を自動的に実行します。データ オブジェクトの作成に create メソッドを使用しない場合は、モデルの autoCheckToken メソッドを手動で呼び出してフォーム トークンの検証を実行する必要があります。 false が返された場合は、フォーム トークン検証エラーを示します。例:

リーリー

パブリックテンプレート置換関数は、ThinkPHPフレームワークのView.class.phpで定義されています

リーリー

上記の if (C('TOKEN_ON')) は、トークン検証がオンになっているかどうかを判断するためのもので、オンになっている場合は、 $_SESSION[$tokenName] = $tokenValue; が呼び出されます。 $_SESSION['__hash__ '] の割り当て。トークン検証を実行したくない場合は、ページの の前に {__NOTOKEN__} を追加するだけで、関数によって空に置き換えられます。

トークン検証関数はThinkPHPのModel.class.phpクラスで定義されています

リーリー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825338.html技術記事 ThinkPHP にはフォーム トークン検証機能が組み込まれており、リモートからのフォーム送信やその他のセキュリティ保護を効果的に防止できます。 フォーム トークンの検証に関連する構成パラメーターは次のとおりです: 'TOKEN_ON'=true, // コマンドを有効にするかどうか...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。