1

こんにちは私は「と」を持っているリンクを持っています例えば:http://site.com/?sd=text&sery=&son="><ic=x onerror="

<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.com/?sd=text&sery=&son="><ic=x onerror=");
exit;
?>

スクリプトをどの程度正しく記述しますか?

4

1 に答える 1

6

urlencode()PHPの関数を使用してURLエンコードする必要があります。これは、クエリ文字列でキーと値をエンコードする適切な方法です。また、引用符を二重引用符で囲まれた文字列リテラルに含めるには、先頭にバックスラッシュを付けて引用符をエスケープする必要があります。これを試して:

<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.com/?sd=text&sery=&son=" . urlencode("\"><ic=x onerror=\""));
exit;
?>

または、この場合、文字列リテラルを一重引用符で囲むこともできます。これにより、二重引用符をエスケープする必要がなくなります。注: 文字列を一重引用符で囲む場合、文字列に含まれるアポストロフィ文字は先頭のバックスラッシュでエスケープする必要があります。質問のタイトルと説明にもかかわらず、あなたの例には何も表示されません。

<?
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://site.com/?sd=text&sery=&son=' . urlencode('"><ic=x onerror="'));
exit;
?>
于 2012-11-20T16:58:05.303 に答える