addslashes_gpc() は、文字列または配列にスラッシュを追加する関数です。内部的には wp_slash() を使用しており、データをエスケープする際に役立ちます。特に、$_GET や $_POST などのスーパーグローバル変数を処理する場合に便利です。
目次
機能の説明
addslashes_gpc() は、指定された文字列または配列の各値にスラッシュ(\)を追加する関数です。これは SQL インジェクションなどのセキュリティ対策として活用されることがあります。
シンプルなコード例
$input = "O'Reilly";
$escaped_input = addslashes_gpc($input);
echo $escaped_input; // O\'Reillyこのコードでは、シングルクォート (') の前にスラッシュ (\) を追加することでエスケープ処理を行っています。
使い方の説明
addslashes_gpc() は、単一の文字列だけでなく、配列の各要素にも適用できます。
$data = [
    "name" => "O'Reilly",
    "company" => "John & Sons"
];
$escaped_data = addslashes_gpc($data);
print_r($escaped_data);出力
Array (
    [name] => O\'Reilly
    [company] => John & Sons
)一緒に使うことが多い関連タグ
wp_slash()
addslashes_gpc() の内部で使用されている関数で、同様にスラッシュを追加します。
$input = "O'Reilly";
$escaped_input = wp_slash($input);
echo $escaped_input; // O\'Reillystripslashes()
スラッシュを除去する関数で、addslashes_gpc() でエスケープした文字列を元に戻すことができます。
$escaped_input = "O\'Reilly";
$original_input = stripslashes($escaped_input);
echo $original_input; // O'Reilly追加情報で取得したい場合
addslashes_gpc() と類似した処理を行う関数として、以下のようなものがあります。
| 関数名 | 説明 | 
|---|---|
| wp_slash() | WordPress におけるスラッシュ追加処理を行う標準関数 | 
| addslashes() | PHP 組み込み関数で、単一の文字列にスラッシュを追加する | 
| esc_sql() | SQL クエリ内で安全なエスケープ処理を行う | 
想定されるトラブル
配列のエスケープがうまくいかない
addslashes_gpc() は配列を再帰的に処理しますが、多次元配列の扱いには注意が必要です。
適用後に print_r() や var_dump() を使ってデータを確認し、必要なら手動で addslashes_gpc() を適用してください。
$data = [
    "user" => [
        "name" => "O'Reilly",
        "bio" => "Loves programming"
    ]
];
$escaped_data = addslashes_gpc($data);
print_r($escaped_data);Q&A
まとめ
addslashes_gpc() は、文字列や配列の値にスラッシュを追加する WordPress の関数で、wp_slash() を利用した処理を提供します。addslashes() や stripslashes() と組み合わせて使うことが多く、セキュリティ対策としても役立ちます。

コメント