ホームページ バックエンド開発 PHPの問題 php mysqlエスケープ関数とは何ですか?

php mysqlエスケープ関数とは何ですか?

Sep 16, 2021 am 09:53 AM
mysql php

php mysql エスケープ関数には、1.addlashes 関数、2.htmlspecialchars 関数、3.htmlentities 関数、4.mysql_real_escape_string 関数などが含まれます。

php mysqlエスケープ関数とは何ですか?

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、Dell G3 コンピューター

php mysqlエスケープ関数とは何ですか?

php mysql エスケープ関数

SQL クエリ ガジェットを開発しているとき、データをクエリする SQL ステートメントを送信するときに POST が発生しました。端末が < または > を含む SQL ステートメントを受信すると、構文エラーが報告されます。

しかし、提出された明細書を印刷すれば問題ありません。考えてみてください。それはエンコードまたはエスケープの問題に違いありません。

$sqlQuery = html_entity_decode($_POST["content"]);
$sqlQuery = stripslashes($sqlQuery);[object Object]
ログイン後にコピー

以下では、主に PHP でよく使われるエスケープ関数とセキュリティ関数を紹介します。これらの関数を使用すると、SQL インジェクションなどの最も一般的な攻撃手法をフィルタリングできます。必要な友人は参照してください

# 1.addlashes addlashes は、(')、(")、()、(NUL) などの SQL ステートメント内の特殊文字をエスケープします。この関数は、DBMS に独自のエスケープ関数がない場合に使用されますが、DBMS に独自のエスケープ関数がある場合は、関数を使用する場合は、元の関数を使用することをお勧めします。たとえば、MySQL には SQL をエスケープするための mysql_real_escape_string 関数があります。PHP5.3 より前では、magic_quotes_gpc は主に $GET、$POST、$ でデフォルトで有効になっていたことに注意してください。 COOKIE では、これらの変数に対して addslashes を繰り返し呼び出す必要はありません。そうしないと二重エスケープが発生します。ただし、magic_quotes_gpc は PHP5.3 で廃止され、PHP5.4 以降は削除されました。最新の PHP を使用する場合は、必要ありません。この問題について心配する必要はありません。Stripslashes は、addslashes のエスケープ解除機能です。

2. htmlspecialchars htmlspecialchars は、(&)、(' を含む HTML 内のいくつかの特殊文字を HTML エンティティ (形式: &xxxx;) 形式にエスケープします。 )、(")、()の5文字。

& (AND) => &
” (双引号) => " (当ENT_NOQUOTES没有设置的时候)
‘ (单引号) => &#39; (当ENT_QUOTES设置)
< (小于号) => <
> (大于号) => >
ログイン後にコピー
htmlspecialchars を使用して $GET、$POST、$COOKIE データをフィルタリングし、XSS を防ぐことができます。なお、htmlspecialchars関数はセキュリティ上のリスクがあると考えられるHTML文字のみをエスケープするため、HTML内でエスケープ可能な文字をすべてエスケープしたい場合はhtmlentitiesを使用してください。 htmlspecialchars_decode は htmlspecialchars のデコード関数です。

3. htmlentities

htmlentities は、HTML 内のエスケープ可能なコンテンツを HTML エンティティにエスケープします。 html_entity_decode は htmlentities のデコード関数です。

4. mysql_real_escape_string

mysql_real_escape_string は、(\x00)、(\n)、(\r)、()、(')、(\x1a に対して) MySQL ライブラリ関数 mysql_real_escape_string を呼び出します。 ) をエスケープします。つまり、SQL インジェクションを防ぐために前にバックスラッシュ () を追加します。データベース データを読み取るときにエスケープを解除するためにストリップスラッシュを呼び出す必要はないことに注意してください。これらのバックスラッシュはデータベースが SQL を実行するときに追加され、バックスラッシュはデータがデータベースに書き込まれるときに削除されるためです。は元のデータであり、前にバックスラッシュはありません。

5.strip_tagsstrip_tags は、NUL、HTML、および PHP タグを除外します。

6.stripslashes()

この関数は、addslashes() 関数によって追加されたバックスラッシュを削除します。

7. 結論 PHP の組み込みセキュリティ機能では XSS を完全に回避することはできません。HTML Purifier の使用を推奨します。

推奨学習: 「

PHP ビデオ チュートリアル

以上がphp mysqlエスケープ関数とは何ですか?の詳細内容です。詳細については、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)

PHPの未来:適応と革新 PHPの未来:適応と革新 Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

PHP対Python:違いを理解します PHP対Python:違いを理解します Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

MySQLおよびSQL:開発者にとって不可欠なスキル MySQLおよびSQL:開発者にとって不可欠なスキル Apr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

単一のスレッドレディスの使用方法 単一のスレッドレディスの使用方法 Apr 10, 2025 pm 07:12 PM

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

PHP:それは死にかけていますか、それとも単に適応していますか? PHP:それは死にかけていますか、それとも単に適応していますか? Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

See all articles