Как исправить «Неправильную нейтрализацию HTML-тегов, связанных со сценариями, на веб-странице (базовый XSS)» в выходной строке PHP

У меня есть следующий php-код

<?php 
$Output = '<table><thead><tr>';
$Output .= '<th>Display</th></tr></thead><tbody>'; 
for ($k = 0; $k < count($ColumnsInSQL); $k++) { 
    $Output .= '<tr><td>'.$KS_ResultSet_level[$k][strtoupper(trim($ColumnsInSQL[$k]))].'</td></tr>';
}
$Output .= '</tbody></table>';
echo $Output;
?>

Недавно я запускаю код в Veracode, и у меня возникает проблема с "echo $Output;".

Кто-нибудь может помочь мне исправить это?


person BKRaj    schedule 13.07.2017    source источник
comment
Какую проблему вы получаете?   -  person Jonas Adler    schedule 13.07.2017
comment
При сканировании veracode я получаю сообщение о неправильной нейтрализации HTML-тегов, связанных со сценариями, на веб-странице (базовый XSS)   -  person BKRaj    schedule 13.07.2017
comment
@ Бармар, твой ответ работает. Спасибо большое.   -  person BKRaj    schedule 13.07.2017


Ответы (1)


Используйте htmlentities() для кодирования специальных символов в переменных данных.

$Output .= '<tr><td>'.htmlentities($KS_ResultSet_level[$k][strtoupper(trim($ColumnsInSQL[$k]))]).'</td></tr>';
person Barmar    schedule 13.07.2017