ワードプレスのsanitize_url関数の使用方法・解説

概要

sanitize_url関数は、URLをサニタイズするために使用される関数です。サニタイズとは、悪意のあるコードや無効な情報を取り除くプロセスであり、特にWebアプリケーションにおいては重要なセキュリティ措置です。以下は、この関数が実装される際によく使用される機能の例です。

  1. ユーザーから入力されたURLのバリデーション
  2. データベースへの保存前にURLをクリーンアップ
  3. URL参照の正常性チェック
  4. リダイレクト対象のURLの整形
  5. 外部APIへのリクエストのためのURL処理
  6. SEO対策としてのURLクリーンアップ
  7. メタデータとしてのURLの整形
  8. フロントエンドでのURL表示の向上

構文

string sanitize_url( string $url )

パラメータ

  • $url (string): サニタイズされるURL。

戻り値

  • サニタイズされたURL (string)。

関連する関数

関数の使用可能なバージョン

  • WordPress 4.2以降

コアファイルのパス

  • wp-includes/formatting.php

この関数のアクションでの使用可能性

アクション名 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: URLのサニタイズ

$url = "http://example.com/?param=<script>alert('test');</script>";
$sanitized_url = sanitize_url($url);
// $sanitized_urlは" http://example.com/?param="になります

このコードは、悪意のあるスクリプトがURLに含まれている場合、それを取り除くことを示しています。

サンプル2: ユーザーからの入力チェック

$user_input = "http://example.com/?param=<b>bold</b>";
$validated_url = sanitize_url($user_input);
// $validated_urlは"http://example.com/?"になります

ここでは、ユーザーからの入力を受け取り、HTMLタグを除去しています。

サンプル3: データベースへの保存準備

$raw_url = "http://example.com/unsafe-url?param=<img src=x onerror=alert('XSS')>";
$clean_url = sanitize_url($raw_url);
// $clean_urlは"http://example.com/unsafe-url?"になります
// データベースに安全に保存する準備ができました

このコードは、データベースに保存する前にURLをサニタイズして安全性を高めています。

サンプル4: リダイレクトURLのサニタイズ

$redirect_url = "http://malicious-site.com/?redirect=<script>alert('hack');</script>";
$safe_redirect_url = sanitize_url($redirect_url);
// $safe_redirect_urlは"http://malicious-site.com/?"になります

この例では、リダイレクトのためのURLがサニタイズされ、安全性を保つ様子を示しています。

サンプル5: SEO対策

$page_url = "http://example.com/page?utm_source=<strong>test</strong>";
$seo_friendly_url = sanitize_url($page_url);
// $seo_friendly_urlは"http://example.com/page?"になります

最後のコードは、SEO対策としてURLのクリーンアップを行っています。

この関数について質問する


上の計算式の答えを入力してください