


ThinkPHP データベースにおける 2 つのバックスラッシュ エスケープとデータベース クラス エスケープの解決策、thinkphp スラッシュ_PHP チュートリアル
ThinkPHP データベースにおける 2 つのバックスラッシュ エスケープとデータベース クラス エスケープの問題の解決策、thinkphp スラッシュ
この記事の例では、ThinkPHP がデータベースにインポートされるときの 2 つのバックスラッシュ エスケープとデータベース クラス エスケープの解決策について説明します。参考のためにみんなで共有してください。具体的な方法は以下の通りです
これは、magic_quotes_gpc がオンになっている場合に発生します。その理由は、thinkphp がデータベースにインポートするときに magic_quotes_gpc がオンになっているかどうかを判断せず、それに関係なくエスケープしたためです。
解決策は、次のコードをエントリ ファイルに追加することです:
関数 addlashes_deep($value) {
$value = is_array($value) ? array_map('addslashes_deep', $value):
まつげを追加します($value); $value を返します。 }
$_POST = array_map('addslashes_deep', $_POST); $_GET = array_map('addslashes_deep', $_GET); $_COOKIE = array_map('addslashes_deep', $_COOKIE); $_REQUEST = array_map('addslashes_deep', $_REQUEST); }
誰かが DbMysql.class.php のエスケープ関数を次のように変更しました:
コードは次のとおりです:
public functionescape_string($str) {
}
実際、この方法はお勧めできません。なぜなら、マジック関数がオンで $str が post または get (テキストやデータベースの読み取りなど) によって取得されない場合でも、バックスラッシュは追加されないからです。
したがって、$str がエスケープされているかどうかに関係なく、常に最初にエスケープを削除してからエスケープを追加します。これにより、二重エスケープやエスケープの欠落を回避できます。
変更方法は次のとおりです:
コードは次のとおりです:
$str = ストリップスラッシュ($str); if($this->_linkID) {
Thinkphp のデータベースに書き込まれる二重引用符の一部がエスケープされないのはなぜですか?
それはデータベースとは関係がありません。PHP の挿入ステートメントに関係しています。意味が変わったものもあれば、そうでないものもあるはずです。
エスケープせずに挿入することさえできず、エラーが報告されます
しかし、一重引用符は依然として不快です。意味を変更するには、追加の一重引用符を追加する必要があります
true
http://www.bkjia.com/PHPjc/906108.html

ホット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)

ホットトピック









PSの「読み込み」の問題は、リソースアクセスまたは処理の問題によって引き起こされます。ハードディスクの読み取り速度は遅いか悪いです。CrystaldiskInfoを使用して、ハードディスクの健康を確認し、問題のあるハードディスクを置き換えます。不十分なメモリ:高解像度の画像と複雑な層処理に対するPSのニーズを満たすためのメモリをアップグレードします。グラフィックカードドライバーは時代遅れまたは破損しています:ドライバーを更新して、PSとグラフィックスカードの間の通信を最適化します。ファイルパスが長すぎるか、ファイル名に特殊文字があります。短いパスを使用して特殊文字を避けます。 PS独自の問題:PSインストーラーを再インストールまたは修理します。

要素の数が固定されていない場合、CSSを介して指定されたクラス名の最初の子要素を選択する方法。 HTML構造を処理するとき、あなたはしばしば異なる要素に遭遇します...

PSをPDFとしてエクスポートする際のよくある質問とソリューション:フォント埋め込み問題:「フォント」オプションを確認し、「埋め込み」を選択するか、フォントを曲線(パス)に変換します。色偏差の問題:ファイルをCMYKモードに変換し、色を調整します。 RGBで直接エクスポートするには、プレビューと色の逸脱のための心理的な準備が必要です。解像度とファイルサイズの問題:実際の条件に応じて解像度を選択するか、圧縮オプションを使用してファイルサイズを最適化します。特殊効果の問題:エクスポートする前にレイヤーをマージ(フラットン)するか、長所と短所を比較検討します。

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

なぜマイナスマージンが場合によっては有効にならないのですか?プログラミング中、CSSの負のマージン(負...

Webページにローカルにインストールされたフォントファイルを使用する方法Webページ開発でこの状況に遭遇しましたか:コンピューターにフォントをインストールしました...

ブートがさまざまな理由によって引き起こされる可能性がある場合、「読み込み」に巻き込まれたPS:腐敗したプラグインまたは競合するプラグインを無効にします。破損した構成ファイルの削除または名前変更。不十分なプログラムを閉じたり、メモリをアップグレードしたりして、メモリが不十分であることを避けます。ソリッドステートドライブにアップグレードして、ハードドライブの読み取りをスピードアップします。 PSを再インストールして、破損したシステムファイルまたはインストールパッケージの問題を修復します。エラーログ分析の起動プロセス中にエラー情報を表示します。

ブートストラップリストのデフォルトスタイルは、CSSオーバーライドで削除できます。より具体的なCSSルールとセレクターを使用し、「近接原理」と「重量原理」に従って、ブートストラップのデフォルトスタイルをオーバーライドします。スタイルの競合を避けるために、よりターゲットを絞ったセレクターを使用できます。オーバーライドが失敗した場合は、カスタムCSSの重量を調整します。同時に、パフォーマンスの最適化に注意を払い、重要な!の過剰使用を避け、簡潔で効率的なCSSコードを書いてください。
