如何防止htmlspecialchar(PHP)转换字符串中的整数
How to prevent htmlspecialchars (PHP) to conver integer in string
我正在开发一个web应用程序,其中存储在数据库中的一些数据显示在div中。
由于这些数据来自用户,为了防止任何javascript注入,我想在构建网页之前,对从数据库中提取的每个值使用htmlspecialchar()函数。我使用以下函数来遍历从数据库中获得的数据数组。
function filter(&$arr) {
foreach ($arr as $key => &$val) {
if (is_array($val)){
$this->filter($val);
}else{
$val=htmlspecialchars($val);
}
}
}
但是,当这个函数处理数据数组时,整数值会转换为字符串。
有没有办法阻止这种转换?
我更喜欢将整数作为整数,因为部分数据是由javascript详细描述的,如果数据是以字符串形式提供的,则部分代码无法正常工作。我正在寻找一个通用的解决方案,无论数据库中的数据类型如何,都可以应用。
您可以进行
} else if (!is_int($val)) {
$val = htmlspecialchars($val);
}
这不会是一个安全风险,就好像它真的是一个int,它不能包含注入。。。
相关文章:
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 为什么我的javascript程序没有将其转换为整数而不是字符串
- Js char数组将字符串整数视为整数
- 将JavaScript字符串转换为整数
- 通过 ajax 将整数转换为字符串
- 为什么Javascript中的整数加空格加字符串会导致数字和字符串的总和?(2++'22'=24)
- JavaScript:计算字符串中特定整数的实例
- 从数字字符串中获取整数
- 解析 Positive 和 Negative 整数的字符串,Javascript
- 如何将字符串解析为整数并保留小数位(如果它们是零)
- 找到字符串值,但需要一个整数
- 字符串到整数的转换-在PHP和Javascript中是相同的
- 在Javascript中作为字符串添加的整数
- Javascript整数到字符串的强制转换不起作用
- 在Javascript中将字符串转换为整数
- 字符串到整数函数不'不起作用
- 将64位整数转换为json编码对象中的字符串的最佳实践
- JAVASCRIPT:将文本转换为字符串/整数
- Lodash:递增的字符串整数
- Javascript字符串/整数比较