0

htmlspecialchars()input现场使用user last name来防止xss,但它不起作用..假设$user_data->user_last_name;是我的user last name,所以我做了:

htmlspecialchars( $user_data->user_last_name, ENT_QUOTES, 'UTF-8' );

当我尝试将用户姓氏另存为时,'Lastname<script>alert("xss")</script>'我收到消息。JS alert'xss'

有什么线索吗?

4

2 回答 2

0

试试这个,可能有用:

$string = htmlentities($user_data->user_last_name, ENT_QUOTES, 'ISO-8859-15'); 

在检索输入时,您应该使用:

$value = $this->input->post('input_name', true);

在这里,true将清除 的输入值xss

于 2013-10-31T12:40:33.040 回答
0

它可以工作,但是您的浏览器会将输出解释为 HTML

// 使用代码上方的那一行来查看真实的输出

<?php

header('Content-Type: text/plain');
?>
于 2019-10-17T15:12:38.600 回答