概要
sanitize_url
関数は、URLをサニタイズするために使用される関数です。サニタイズとは、悪意のあるコードや無効な情報を取り除くプロセスであり、特にWebアプリケーションにおいては重要なセキュリティ措置です。以下は、この関数が実装される際によく使用される機能の例です。
- ユーザーから入力されたURLのバリデーション
- データベースへの保存前にURLをクリーンアップ
- URL参照の正常性チェック
- リダイレクト対象のURLの整形
- 外部APIへのリクエストのためのURL処理
- SEO対策としてのURLクリーンアップ
- メタデータとしてのURLの整形
- フロントエンドでの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のクリーンアップを行っています。