我知道在制作不佳的代码库中,SQL 注入和 javascript 注入是个大问题。在设计合理的代码库中,这些问题应该可以通过仅通过清理瓶颈模块接受表单数据并通过代码审查明确地对源自社区的模块和插件强制执行此约束来修复。
那么,一旦这些问题得到解决,剩下的主要威胁/已知漏洞的来源是什么?是否有同样直接的潜在消毒解决方案?
我知道在制作不佳的代码库中,SQL 注入和 javascript 注入是个大问题。在设计合理的代码库中,这些问题应该可以通过仅通过清理瓶颈模块接受表单数据并通过代码审查明确地对源自社区的模块和插件强制执行此约束来修复。
那么,一旦这些问题得到解决,剩下的主要威胁/已知漏洞的来源是什么?是否有同样直接的潜在消毒解决方案?
第一个我不知道,但我对第二个有一定的答案。
它们可以通过消毒修复吗?
没有像“消毒”这样的东西。
恰恰相反 - 对这种魔杖的信仰是所有注射的来源。
没有恶意数据。不同情况下有不同的数据。
并且“一般清理瓶颈”永远不会有任何好处,破坏无辜的数据并留下恶意数据。
无论应该做什么“清理”(或者更好的格式化)都取决于数据的目标。
并且只是“守护进程”(例如 SQL、HTML)并不是具有单一规则的完整目标点。
比如说,对于您需要的 HTML,htmlspecialchars()
或者urlencode()
对于不同的目的地。
对于 SQL,它有四种不同的格式化技术:
它们中的每一个都需要完全不同的格式,在你的魔法瓶颈点完全未知。