我在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'
消息。
可能有任何线索吗?
答案 0 :(得分:0)
试试这个,可能会有效:
$string = htmlentities($user_data->user_last_name, ENT_QUOTES, 'ISO-8859-15');
在检索输入时,您应该使用:
$value = $this->input->post('input_name', true);
此处,true
将清除xss
的输入值。
答案 1 :(得分:0)
可以,但是您的浏览器将输出解释为HTML
//使用代码上方的简单行查看实际输出
<?php
header('Content-Type: text/plain');
?>