如何防止htmlspecialchars(PHP)在字符串中转换整数

时间:2015-11-09 14:56:07

标签: javascript php html

我正在开发一个Web应用程序,其中存储在数据库中的一些数据显示在div中。

由于此数据来自用户,为了防止任何javascript注入,我想在构建我的网页之前对从数据库中提取的每个单值使用htmlspecialchars()函数。 我正在使用以下函数来遍历从数据库中获取的数据数组。

A

但是当此函数处理数据数组时,整数值将转换为字符串。

有没有办法阻止这种转换?

我更喜欢将整数作为整数,因为部分数据是由javascript详细说明的,如果数据以字符串形式提供,则部分代码无法正常工作。我正在寻找一种可以应用的通用解决方案,无论数据库来自何种类型的数据。

1 个答案:

答案 0 :(得分:1)

你可以做到

} else if (!is_int($val)) {
    $val = htmlspecialchars($val);
}

这不会带来安全隐患,因为它确实是一个不能包含注射的int ......