ホームページ バックエンド開発 PHPチュートリアル phpのstripslashes()関数とaddslashes()関数の違いの詳細な例

phpのstripslashes()関数とaddslashes()関数の違いの詳細な例

May 22, 2017 am 11:22 AM

以前、PHP の addslashes() 関数とtripslashes() 関数の関数といくつかの使用法を紹介しましたが、この記事では、PHP tripslashes() 関数とaddslashes() 関数の違いを紹介します。

関数名での違い: ストリップ (strip)、スラッシュ (slash)、スラッシュ (スラッシュ) の追加 (add)、つまり、1 つはスラッシュを取り除くことであり、もう 1 つはスラッシュを追加することです。スラッシュの追加は逆です。

使用シナリオ: 実際、これら 2 つの関数は、データベース操作など、特殊文字を変換する必要がある一部のデータ処理で主に使用されます。データベースに書き込む際には、一重引用符などの特殊文字をエスケープして保存する必要があります。読み取るときは、データベース内のこれらのエスケープされた特殊文字を逆エスケープする必要があります。


mysql にデータを書き込むと、例えば:

mysql_query("update table set `title`='kuhanzhu's blog'");
ログイン後にコピー

エラーが発生します。 ASP と同様、データベースは一重引用符にアレルギーがあります。そして、addslashes は現時点で最も価値があり、asp の replace("'",""","kuhanzhu's blog") と同じ機能を持っています。

セキュリティのために、PHP は magic_quotes_gpc = On 関数を導入しました。処理を行わずに一重引用符をデータベースに直接挿入できます。その後、動作環境を盲目的に信頼するのではなく、一重引用符の問題を考慮する必要があります。

magic_quotes_gpc = On の場合は、addslashes() を使用します。データは ' の形式でデータベースに保存されます。このとき直接出力すると、予想以上に内容が多いことがわかります。そのため、stripslashes() が表示され、それを削除できます (str_replace とは異なります)。 ("" , "",$Str))。

magic_quotes_gpc = Off の場合、addslashes() で処理されたデータは、上記の問題なくデータベースに保存されます。この時点ではデータが直接出力されるため、stripslashes() を使用する必要はありません。

addslashes() とtripslashes() はまったく逆であることを覚えておいてください。

簡単に言えば:

magic_quotes_gpc = On の場合、システムは一重引用符などの問題を自動的に処理します。addslashes() とtripslashes() を使用するかどうかは問題ではありませんが、データを追加するときに使用する場合は問題ありません。データを表示する場合は、addslashes() を使用し、その後、stripslashes() を使用する必要があります

magic_quotes_gpc = Off の場合、システムは一重引用符などの問題を処理しないため、データを挿入する場合は addslashes() を使用する必要がありますが、データを表示する場合は使用しません

分析ができたので、上記の 2 つの状況に従って、次のことが得られます。 magic_quotes_gpc がオンかオフかに関係なく、addslashes() を使用します。 ) データを追加する場合、stripslashes() は使用できません。

それが On か Off かを判断する方法は?

get_magic_quotes_gpc()

関数の例については、この記事を参照してください。

コードは以下の通りです:

代码 
//提交数据,或者变量准备:
$Content=addslashes(”这里面是数据,不管有没单引号或者还是变量”);
//插入数据到数据库,代码省略
//开始显示数据
$Content=”从数据库读取的数据”;
if(get_magic_quotes_gpc()){
  $Content=stripslashes($Content); 
}
echo $Content;
ログイン後にコピー
【おすすめ関連記事】:phpaddslashes()関数とstripslashes()関数の例詳細解説

以上がphpのstripslashes()関数とaddslashes()関数の違いの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

C言語のcharとwchar_tの違い C言語のcharとwchar_tの違い Apr 03, 2025 pm 03:09 PM

C言語では、charとwchar_tの主な違いは文字エンコードです。CharはASCIIを使用するか、ASCIIを拡張し、WCHAR_TはUnicodeを使用します。 Charは1〜2バイトを占め、WCHAR_Tは2〜4バイトを占有します。 charは英語のテキストに適しており、wchar_tは多言語テキストに適しています。 CHARは広くサポートされており、WCHAR_TはコンパイラとオペレーティングシステムがUnicodeをサポートするかどうかに依存します。 CHARの文字範囲は限られており、WCHAR_Tの文字範囲が大きく、特別な機能が算術演算に使用されます。

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

C言語合計の機能は何ですか? C言語合計の機能は何ですか? Apr 03, 2025 pm 02:21 PM

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

C言語関数の基本的な要件は何ですか C言語関数の基本的な要件は何ですか Apr 03, 2025 pm 10:06 PM

C言語関数は、コードモジュール化とプログラム構築の基礎です。それらは、宣言(関数ヘッダー)と定義(関数体)で構成されています。 C言語は値を使用してパラメーターをデフォルトで渡しますが、外部変数はアドレスパスを使用して変更することもできます。関数は返品値を持つか、または持たない場合があり、返品値のタイプは宣言と一致する必要があります。機能の命名は、ラクダを使用するか、命名法を強調して、明確で理解しやすい必要があります。単一の責任の原則に従い、機能をシンプルに保ち、メンテナビリティと読みやすさを向上させます。

Charとunsigned Charの違いは何ですか Charとunsigned Charの違いは何ですか Apr 03, 2025 pm 03:36 PM

CharおよびUnsigned Charは、文字データを保存する2つのデータ型です。主な違いは、負と正の数に対処する方法です:値範囲:char署名(-128〜127)、および符号なしのchar unsigned(0〜255)。負の数処理:charは負の数を保存でき、符号なしのcharはできません。ビットモード:char最高ビットは、シンボル、符号なしのchar unsignedビットを表します。算術操作:charおよびunsigned charが署名されており、署名されていないタイプがあり、それらの算術操作は異なります。互換性:charおよびunsigned char

H5とミニプログラムとアプリの違い H5とミニプログラムとアプリの違い Apr 06, 2025 am 10:42 AM

H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

CとC#の違いと接続は何ですか? CとC#の違いと接続は何ですか? Apr 03, 2025 pm 10:36 PM

CとC#には類似点がありますが、それらは完全に異なります。Cはプロセス指向の手動メモリ管理、およびシステムプログラミングに使用されるプラットフォーム依存言語です。 C#は、デスクトップ、Webアプリケーション、ゲーム開発に使用されるオブジェクト指向のガベージコレクション、およびプラットフォーム非依存言語です。

PSのエクスポートPDFのパスワード保護を設定する方法 PSのエクスポートPDFのパスワード保護を設定する方法 Apr 06, 2025 pm 04:45 PM

Photoshopでパスワードで保護されたPDFをエクスポート:画像ファイルを開きます。 [ファイル]&gtをクリックします。 「エクスポート」> 「PDFとしてのエクスポート」。 「セキュリティ」オプションを設定し、同じパスワードを2回入力します。 [エクスポート]をクリックして、PDFファイルを生成します。

See all articles