我目前正在编写一个专注于安全性的 php 框架。我使用查询生成器来生成 SQL 语句,这样它就不会绑定到 MySQL。(或一般的 SQL)我发现用户可以注入行名的某些可能性,所以它必须以某种方式转义它们。由于查询生成器的工作方式,我很遗憾不能使用准备好的语句。我怎样才能解决这个问题?
编辑:
例如,该系统的工作方式如下:db::select()-from('Tablename')->that('rowname')->run()
. 而且我担心一个用户可能会做类似的that($_GET['foo'])
事情。我可以忍受,但我认为必须有一种方法来净化它