
24.10.2009, 13:59
|
|
Участник форума
Регистрация: 26.10.2008
Сообщений: 106
С нами:
9231812
Репутация:
40
|
|
Сообщение от Gifts
_gr34t Выдержка из мануала:
Certain characters have special significance in HTML, and should be represented by HTML entities if they are to preserve their meanings.
Определенные символы имеют специальное значение в HTML, и должны быть представлены в виде HTML-сущностей, если они должны сохранить свои значения.
Ок, я понял. Но почему именно амперсанд?
Сообщение от Gifts
И нигде про атаки не написано. А теперь посмотрим, как именно вы портите ссылки:
PHP код:
<?PHP
// На входе именно такая ссылка, и почему-то важно оставить ее именно такой
$in = 'http://ссылка/index?aaaa=&';
$a = htmlspecialchars($in);
// Вывод после htmlspecialchars
echo '<a href="'.$a.'">'.$a.'</a>';
$a = str_replace('&','&',$a);
// Вывод после удаления "ненужных" замен амперсандов
echo '<br/><a href="'.$a.'">'.$a.'</a>';
Ну да, замену я именно так и делаю.
|
|
|