ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP3.1の新機能のフィールド合法性検出の詳細説明_PHPチュートリアル

ThinkPHP3.1の新機能のフィールド合法性検出の詳細説明_PHPチュートリアル

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

ThinkPHP バージョン 3.1 では、フォーム送信時のフィールドの正当性検出が追加されており、データのセキュリティをより適切に保護できます。この機能は 3.1 セキュリティ機能の重要な部分です。

フォーム フィールドの正当性の検出は、create メソッドを使用してデータ オブジェクトを作成する場合にのみ有効になります。

2 つの方法があります。

1. 属性の定義

モデルの insertFields 属性と updateFields 属性を構成して、フォーム設定を追加および編集できます。 create メソッドを使用してデータ オブジェクトを作成する場合、フォームでの不正なデータ送信を避けるために、定義された範囲内にない属性は直接破棄されます。 。

insertFields 属性と updateFields 属性は、文字列 (カンマで区切られた複数のフィールド) または配列で設定されます。例:

リーリー
設定されたフィールドは実際のデータテーブルフィールドである必要があり、フィールドマッピングの影響を受けません。

使用時に create メソッドを呼び出すと、insertFields 属性と updateFields 属性は送信タイプに基づいて自動的に識別されます。

リーリー

createメソッドを使用してデータオブジェクトを作成する場合、ユーザーデータを追加する場合、「アカウント」、「パスワード」、「ニックネーム」、「メールアドレス」以外のフィールドはブロックされます。編集する場合は、「ニックネーム」がブロックされます。 「メール」以外のフィールド。

以下は文字列定義メソッドであり、これも有効です:

リーリー

2. メソッド呼び出し

insertFields 属性と updateFields 属性を定義したくない場合、またはそれらを動的に呼び出したい場合は、create メソッドを呼び出す前に field メソッドを直接呼び出すことができます。たとえば、上記の例と同じ効果を実現できます。

ユーザーデータを追加する場合は、次を使用します:

リーリー

ユーザーデータを更新するときは、次を使用します:
リーリー

ここのフィールドも実際のデータテーブルのフィールドです。フィールドメソッドでは配列モードも使用できます。
フィールドの合法性検出を使用すると、ユーザーがフォームを送信するときに違法なフィールド データを挿入することを心配する必要がなくなります。明らかに 2 番目の方法の方が柔軟なので、ニーズに応じて選択してください。

http://www.bkjia.com/PHPjc/825459.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825459.html技術記事 ThinkPHP バージョン 3.1 では、フォーム送信時のフィールド合法性検出が追加されており、データのセキュリティをより適切に保護できます。この機能は 3.1 セキュリティ機能の重要な部分です。 フォームフィールドの合法性...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。