Codeigniter - htmlspecialchars()输入无效

时间:2013-10-31 11:23:15

标签: codeigniter input xss htmlspecialchars

我在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'消息。

可能有任何线索吗?

2 个答案:

答案 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');
?>