Codeigniter-输入的htmlspecialchars()不起作用

问题描述 投票:0回答:2

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

也许有任何线索?

codeigniter input xss htmlspecialchars
2个回答
0
投票

尝试一下,可能会起作用:

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

检索输入时应使用:

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

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


0
投票

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

//使用代码上方的那条简单的线查看实际输出

<?php

header('Content-Type: text/plain');
?>
© www.soinside.com 2019 - 2024. All rights reserved.