gpt4 book ai didi

c# - 在 PHP 文件中解析 SQL 的最佳方法?

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:40 24 4
gpt4 key购买 nike

在我的毕业论文中,我开发了一个程序,该程序可以使用准备好的语句自动检测并建议修复 SQL 注入(inject)漏洞。特别是 PHP 的 mysqli 扩展。我对 SO 社区的问题是:您首选的方法是检测 PHP 源代码中的 SQL?

我使用了一个包含 SQL keywords (SELECT, INSERT, ...) 的枚举并且基本上解析每一行,遍历枚举以确定是否存在任何 SQL。此外,我必须确保解析器没有错误地检测到 html(例如 <\select>)。

对我来说,这个解决方案运行良好,但现在我手头有更多时间,并考虑重构代码以使用更优雅(和高效)的解决方案。请将您的解决方案限制为使用 C# 因为这就是我编写程序的内容。

最佳答案

你的解决方案对我来说似乎很好。另一种方法是使用 PHP 语法使用 Lex/Yacc 解析器解析 PHP 文件,有一个很好的 C# 语法解析工具,称为 Coco/R
http://www.ssw.uni-linz.ac.at/coco/ .

但是我相信,如果您确实解析了该语言,您最终会花费太多时间(在开发和计算中)而没有额外的结果。

我会坚持您的机会主义方法,但会针对各种 PHP 代码对其进行测试并对其进行调整以涵盖所有可能的情况。

关于c# - 在 PHP 文件中解析 SQL 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20478/

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