LoginSignup
4
1

More than 1 year has passed since last update.

htmlspecialchars関数とは PHP

Last updated at Posted at 2021-08-04

■htmlspecialchars()とは

PHP上でコードをテキストとして表示させる時に使うメソッド
エスケープを行うとも言う。
エスケープしないとXSSが行えてシステムに問題が起こる。

htmlspecialchars(第一引数,第二引数,第三引数);

▼第一引数
エスケープしたい文字を入れる。
変数でも良い。

▼第二引数
変換のパターンを入れる。

変換パターン 説明
ENT_QUOTES ダブルクオテーション、シングルクオテーションどちらも変換
ENT_COMPAT ダブルクオテーションのみ変換
ENT_NOQUOTES ダブルもシングルも変換しない
ENT_COMPAT デフォルト

▼第三引数
文字コードの指定
UTF-8など

■htmlspecialchars()を使わない場合

コードがテキストとして表示されずコードの能力が発揮されている。
*危ない

<?php 
 $a = "<p>こんにちわ</p>";
 echo $a;
?>

//結果 こんにちわ

■htmlspecialchars()を使う場合

コードがテキストとして表示されていてコードの能力が効いていない。
*安全

<?php 
 $a = "<p>こんにちわ</p>";
 echo htmlspecialchars($a,ENT_QUOTES,'UTF-8');
?>

//結果 <p>こんにちわ</p>

htmlspecialchars()を使わないとエンジニア側ではなくだれでもコードを書いていじる事ができてしまう。
安全性に問題がおきる。

4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1