ThinkPHP でのメソッドと自動トークン検証の作成例のチュートリアル、thinkphpcreate_PHP チュートリアル
ThinkPHP の作成メソッドと自動トークン検証のサンプル チュートリアル、thinkphpcreate
この記事では、ThinkPHP での create メソッドと自動トークン検証の実装を例の形で示します。具体的な手順は次のとおりです。
1. データテーブルの構造
ユーザーテーブルの構造は次のとおりです:ID ユーザー名 パスワード
2. テンプレート部分を表示します
aoliHomeTpldefaultUsercreate.html ページは次のとおりです:リーリー
3. アクション部分:
aoliHomeLibAction.php ページは次のとおりです:リーリー
リーリー
2. ThinkPHP は、データ オブジェクトを迅速に作成するのに役立ちます。最も一般的なアプリケーションは、フォーム データに基づいてデータ オブジェクトを自動的に作成することです。 create メソッドによって作成されたデータ オブジェクトはメモリに保存され、実際にはデータベースに書き込まれません。
リーリー
リーリー
したがって、私たちがよく知っているトークン検証、自動検証、および自動完了機能を有効にするには、実際に create メソッドを使用する必要があります。
5. トークンの検証:
機能: フォームのリモート送信やその他のセキュリティ保護を効果的に防止できます。
次の設定を config.php に追加します。
リーリー
create.htmlのソースコードを見ると、フォームの終了マークの前に自動生成された隠しフィールドがあることがわかります
リーリー
(2). フォームのトークン検証がオンになっている場合、個々のフォームでトークン検証を使用する必要はありません
関数を使用して、フォーム ページに {__NOTOKEN__} を追加すると、システムは現在のフォームのトークン検証を無視します。
(3). ページ上に複数のフォームがある場合は、{__TOKEN__} 識別子を追加し、トークン検証が必要なフォームが 1 つだけであることを確認することをお勧めします。
(4) create メソッドを使用してデータ オブジェクトを作成すると、同時にフォーム検証が自動的に実行されます。このメソッドを使用しない場合は、フォーム検証用のモデルの autoCheckToken メソッドを手動で呼び出す必要があります。
リーリー
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...残りのテキスト>>
フォーム トークン検証に関連する構成パラメーターは次のとおりです: '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)){// トークン検証エラー

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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