相关疑难解决方法(0)

用PHP清理用户输入的最佳方法是什么?

是否有一个catchall函数适用于清理SQL注入和XSS攻击的用户输入,同时仍允许某些类型的html标记?

php security xss user-input sql-injection

1069
推荐指数
14
解决办法
50万
查看次数

在哪里清理PHP $ _POST []输入?

我正在使用codeigniter框架.

我应该在哪里清理PHP输入 - 控制器或模型?

php codeigniter

19
推荐指数
4
解决办法
8496
查看次数

"不要直接访问Superglobal $ _REQUEST数组." Netbeans 8.0 PHP

在阅读了其他几个问题后,我们会问这个问题.

不要直接访问超全局$ _GET数组

在Netbeans 7.4 for PHP上"不要直接访问Superglobal $ _SERVER数组"

为什么filter_input()不完整?

我已经加载了最新版本Netbeans 8.0,我看到了一个警告

不要直接访问Superglobal $ _REQUEST数组.

太棒了,我很高兴能在我做一些可以改进的事情时出现,所以我看看hints.

这个建议很简单.

请改用一些过滤函数(例如filter_input(),带有_*()函数的条件等).

所以我开始研究fliter_input()它尚未实现$_REQUEST.这似乎有点死路一条.

然后我读了一些非常有帮助的东西(@bobince)" 在你的脚本开始过滤时,你不知道你的输入最终会在哪里,所以你不知道如何逃避它. "

它提醒我,我确切地知道我的输入最终会在哪里,以及它将用于什么.所以,我想问问每个人我将采取的方法是否基本上是safe.

我正在设计一个REST- ish API,我$_SERVER['REQUEST_METHOD'];用来确定需要返回的资源.我也使用$_REQUEST['resource'];它应该包含的一切URI/api/跟随.htaccess rewrite.

我对我的方法的问题是:

  1. 如果我总是验证$_SERVER['REQUEST_METHOD'];是否符合要求GET PUT POST DELETE(无论如何我都需要做),是否真的存在不填写输入的问题?
  2. 我应该$_REQUEST['resource'];通过使用来访问filter_input (INPUT_GET, 'resource');吗?当这只用于确定资源,以及无法确定资源的地方(比如有人试图添加恶意代码)时,我们根本找不到资源并返回404 Not Found状态.
  3. 我是否需要考虑其他因素,并且错过了我理解中的任何重要事项?

我意识到,对于仅被视为警告的内容,这看起来似乎很多,但是根据我的经验,只修复错误将为您提供工作代码,但修复警告将帮助您理解代码的工作原理.

php netbeans

11
推荐指数
1
解决办法
8642
查看次数

我还应该做些什么来消毒用户输入?

最近,我在一些客户的网站上进行了审计.他们回来的一件事是我可以更好地消毒输入数据,因为人们仍然可能对数据库造成潜在的伤害.

下面的功能是我目前正在使用的(旧开发人员的剩余部分),但我看不出潜在问题可能存在的地方.

传递给数据库的字符串将通过XML显示,而XML又由Flash应用程序读取.

谁能告诉我我可能会缺少什么?谢谢

function secure_string($string)
{   
    return (strip_tags(addslashes(mysql_real_escape_string(
                      stripslashes($string)))));
}
Run Code Online (Sandbox Code Playgroud)

php mysql security

4
推荐指数
2
解决办法
1290
查看次数

标签 统计

php ×4

security ×2

codeigniter ×1

mysql ×1

netbeans ×1

sql-injection ×1

user-input ×1

xss ×1