目次
ThinkPHP の作成メソッドと自動トークン検証のサンプル チュートリアル、thinkphpcreate
ホームページ バックエンド開発 PHPチュートリアル ThinkPHP でのメソッドと自動トークン検証の作成例のチュートリアル、thinkphpcreate_PHP チュートリアル

ThinkPHP でのメソッドと自動トークン検証の作成例のチュートリアル、thinkphpcreate_PHP チュートリアル

Jul 13, 2016 am 10:20 AM
create thinkphp トークン 確認する

ThinkPHP の作成メソッドと自動トークン検証のサンプル チュートリアル、thinkphpcreate

この記事では、ThinkPHP での create メソッドと自動トークン検証の実装を例の形で示します。具体的な手順は次のとおりです。

1. データテーブルの構造

ユーザーテーブルの構造は次のとおりです:

ID ユーザー名 パスワード

2. テンプレート部分を表示します

aoliHomeTpldefaultUsercreate.html ページは次のとおりです:

リーリー

3. アクション部分:

aoliHomeLibAction.php ページは次のとおりです:

リーリー
1. フォームによって送信されたデータを操作する前に、上記で送信されたフォーム データなどの必要なデータを手動で作成する必要があることがよくあります。


リーリー

添付ファイル: データ メソッドを使用して作成されたデータ オブジェクトは自動的に検証およびフィルタリングされないため、自分で処理する必要があります。単にデータ オブジェクトを作成するだけで、追加の関数を実行する必要がない場合は、データオブジェクトを作成するだけの data メソッド。

2. ThinkPHP は、データ オブジェクトを迅速に作成するのに役立ちます。最も一般的なアプリケーションは、フォーム データに基づいてデータ オブジェクトを自動的に作成することです。 create メソッドによって作成されたデータ オブジェクトはメモリに保存され、実際にはデータベースに書き込まれません。

リーリー

3. create メソッドは、他のデータ オブジェクトや配列などからのデータ オブジェクトの作成をサポートします。

リーリー

4. データ オブジェクトの作成中に、create メソッドはトークン検証、自動データ検証、フィールド タイプ検索、自動データ補完などのいくつかの意味のある作業も完了します。

したがって、私たちがよく知っているトークン検証、自動検証、および自動完了機能を有効にするには、実際に create メソッドを使用する必要があります。

5. トークンの検証:

機能: フォームのリモート送信やその他のセキュリティ保護を効果的に防止できます。

次の設定を config.php に追加します。

リーリー

自動トークンは、md5 暗号化文字列を現在の SESSION セッションに挿入します。そして、この文字列をフォームの前の隠しフィールドのフォームに挿入します。この文字列は 2 つの場所に表示されます。1 つは SESSION 内、もう 1 つはフォーム内です。フォームを送信すると、サーバーは最初に SESSION 情報を比較し、それが正しければフォームの送信が許可され、そうでない場合は送信が許可されません。

create.htmlのソースコードを見ると、フォームの終了マークの前に自動生成された隠しフィールドがあることがわかります


リーリー

(1) 隠しフィールドの場所を制御したい場合は、フォーム ページに {__TOKEN__} マークを手動で追加できます。これにより、テンプレートの出力時にシステムが自動的に置き換えます。

(2). フォームのトークン検証がオンになっている場合、個々のフォームでトークン検証を使用する必要はありません

関数を使用して、フォーム ページに {__NOTOKEN__} を追加すると、システムは現在のフォームのトークン検証を無視します。


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

(4) create メソッドを使用してデータ オブジェクトを作成すると、同時にフォーム検証が自動的に実行されます。このメソッドを使用しない場合は、フォーム検証用のモデルの autoCheckToken メソッドを手動で呼び出す必要があります。


リーリー

この記事で示した例が皆様の ThinkPHP プログラミング設計に役立つことを願っています。

ThinkPHP: create() メソッドの用途は何ですか?

1.create メソッドは、POST によって送信されたデータを処理できます (テーブル内のフィールド名とフォームによって送信された名前の間の対応関係を通じて、データ インスタンスを自動的にカプセル化します)。たとえば、「username」という名前のフィールドがあります。ユーザーテーブル 2. フォームの繰り返し送信を防ぐために、create メソッドを使用してフォームのトークン検証を実行します。
3. データは自動的に検証できます。前提条件として、Model フォルダーに UserModel.class.php ファイルを手動で作成し、それに検証ルールを追加する必要があります。
protected $_validate = array('username',' require ','Username should be', 1),
);
4. フィールドには自動的に値を割り当てることができますが、前提条件として、Model フォルダーに UserModel.class.php ファイルを手動で作成し、
protected $ を追加する必要があります。 _auto = array (
array('create_time','time',self::MODEL_INSERT,'function'),
);
すると、ユーザーの登録時刻が現在時刻に自動的に割り当てられます

のソースコードを添付します作成メソッド:
/**
* データオブジェクトを作成しますが、データベースには保存しません
* @access public
* @parammixed $data データを作成します
* @param string $type status
* @returnmixed
*/
public function create($data='' ,$type='') {
// 値が渡されない場合、デフォルトで POST データが取得されます
if(empty($data)) {
$data = $_POST;
}elseif(is_object($data)){
$data = get_object_vars($data);
}
// データを検証
if(empty($data) || !is_array($data)) {
$this- >error = L('_DATA_TYPE_INVALID_');
return false ;
}

// フィールドマッピングを確認します
$data = $this->parseFieldsMap($data,0);

// ステータス
$type = $type?$type:(!empty($data[$ this->ge...残りのテキスト>>

thinkphp の自動検証で次のエラー メッセージが表示されます: _TOKEN_ERROR_ とはどういう意味ですか?

ThinkPHP の新しいバージョンには、フォーム トークン検証機能が組み込まれており、フォームのリモート送信やその他のセキュリティ保護を効果的に防止できます。


フォーム トークン検証に関連する構成パラメーターは次のとおりです: 'TOKEN_ON'=>true, // トークン検証を有効にするかどうか 'TOKEN_NAME'=>'__hash__', // トークン検証用のフォームの非表示フィールド名 'TOKEN_TYPE' = >'md5', //デフォルトのトークン ハッシュ検証ルールは MD5 です。フォーム トークン検証機能がオンになっている場合、システムはフォームのテンプレート ファイルに TOKEN_NAME という名前の隠しフィールドを自動的に生成します。その値は It です。 TOKEN_TYPE モードで生成されたハッシュ文字列で、フォームの自動トークン検証を実装するために使用されます。自動生成された隠しフィールドはフォーム終了マークの前に配置されます。隠しフィールドの位置を制御したい場合は、フォーム ページにマークを手動で追加すると、テンプレートの出力時にシステムが自動的に置き換えます。フォームのトークン検証がオンになっており、個々のフォームでトークン検証機能を使用する必要がない場合は、フォーム ページに {__NOTOKEN__} を追加すると、システムは現在のフォームのトークン検証を無視します。ページ上に複数のフォームがある場合は、ID を追加し、トークン検証が必要なフォームが 1 つだけであることを確認することをお勧めします。モデル クラスは、データ オブジェクトの作成時にフォーム トークン検証を自動的に実行します。データ オブジェクトの作成に create メソッドを使用しない場合は、モデルの autoCheckToken メソッドを手動で呼び出してフォーム トークン検証を実行する必要があります。 false が返された場合は、フォーム トークン検証エラーを示します。例: $User = M("User"); // ユーザー オブジェクトをインスタンス化します // トークン検証を手動で実行します if (!$User->autoCheckToken($_POST)){// トークン検証エラー

http://www.bkjia.com/PHPjc/868237.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/868237.html技術記事 ThinkPHP、thinkphpcreate での create メソッドと自動トークン検証のサンプルチュートリアル この記事では、ThinkPHP での create メソッドと自動トークン検証の実装方法を例の形式で示します。具体的な手順は次のとおりです...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PDFの署名を検証する方法 PDFの署名を検証する方法 Feb 18, 2024 pm 05:33 PM

私たちは通常、政府やその他の機関から PDF ファイルを受け取りますが、中にはデジタル署名が付いているものもあります。署名を検証すると、SignatureValid メッセージと緑色のチェック マークが表示されます。署名が検証されない場合、有効性は不明です。署名の検証は重要です。PDF で署名を検証する方法を見てみましょう。 PDF 形式の署名を検証する方法 PDF 形式で署名を検証すると、署名の信頼性が高まり、文書が受け入れられる可能性が高くなります。次の方法で PDF ドキュメントの署名を検証できます。 Adobe Reader で PDF を開きます。 署名を右クリックし、「署名プロパティの表示」を選択します。 「署名者証明書の表示」ボタンをクリックします。 「信頼」タブから信頼できる証明書リストに署名を追加します。 「署名の検証」をクリックして検証を完了します。

WeChatの友人による認証を使用してブロックを解除する詳細な方法 WeChatの友人による認証を使用してブロックを解除する詳細な方法 Mar 25, 2024 pm 01:26 PM

1. WeChatを開いた後、検索アイコンをクリックし、WeChatチームと入力し、下のサービスをクリックして入力します。 2. 入力後、左下隅にあるセルフサービス ツール オプションをクリックします。 3. をクリックした後、上のオプションで、補助検証のブロック解除/再審査請求のオプションをクリックします。

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

PHP 8 の新機能: 検証と署名の追加 PHP 8 の新機能: 検証と署名の追加 Mar 27, 2024 am 08:21 AM

PHP8 は PHP の最新バージョンであり、プログラマーにさらなる利便性と機能をもたらします。このバージョンはセキュリティとパフォーマンスに特に重点を置いており、注目すべき新機能の 1 つは検証および署名機能の追加です。この記事では、これらの新機能とその使用法について詳しく説明します。検証と署名は、コンピューター サイエンスにおける非常に重要なセキュリティ概念です。これらは、送信されるデータが完全で本物であることを確認するためによく使用されます。オンライン取引や機密情報を扱う場合、検証と署名がさらに重要になります。誰かがデータを改ざんできると、潜在的にデータが改ざんされる可能性があるためです。

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

See all articles