我正在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'
消息。
也许有任何线索?
尝试一下,可能会起作用:
$string = htmlentities($user_data->user_last_name, ENT_QUOTES, 'ISO-8859-15');
检索输入时应使用:
$value = $this->input->post('input_name', true);
在这里,true
将清除xss
的输入值。
可以,但是您的浏览器将输出解释为HTML
//使用代码上方的那条简单的线查看实际输出
<?php
header('Content-Type: text/plain');
?>