我正在开发一个Web应用程序,其中存储在数据库中的一些数据显示在div中。
由于此数据来自用户,为了防止任何javascript注入,我想在构建我的网页之前对从数据库中提取的每个单值使用htmlspecialchars()函数。 我正在使用以下函数来遍历从数据库中获取的数据数组。
A
但是当此函数处理数据数组时,整数值将转换为字符串。
有没有办法阻止这种转换?
我更喜欢将整数作为整数,因为部分数据是由javascript详细说明的,如果数据以字符串形式提供,则部分代码无法正常工作。我正在寻找一种可以应用的通用解决方案,无论数据库来自何种类型的数据。
答案 0 :(得分:1)
你可以做到
} else if (!is_int($val)) {
$val = htmlspecialchars($val);
}
这不会带来安全隐患,因为它确实是一个不能包含注射的int ......