gpt4 book ai didi

javascript - 如何防止 htmlspecialchars (PHP) 将字符串中的整数转换

转载 作者:行者123 更新时间:2023-12-03 08:24:34 24 4
gpt4 key购买 nike

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

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

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,它不能包含注入(inject)...

关于javascript - 如何防止 htmlspecialchars (PHP) 将字符串中的整数转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33611858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com