服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

当所有的PHP脚本都有缺陷时,我应该如何针对sql注入设置数据库保护?

我已经inheritance了一个非常不安全的PHP Web应用程序,有一个SQL注入的历史。 我不能立即修复这些脚本,而是需要他们运行才能运行网站,并且首先从php端处理php脚本过多。 不过,我确实可以完全控制服务器和服务器上的软件,包括完全控制mysql数据库及其用户。 让我们估计一下总共300个脚本,40个半私有脚本和20个私有/安全脚本。 所以我的问题是如何最好的保护数据,隐含的假设,从PHP方面的SQL注入(例如在300个脚本列表中的某处)是不可避免的? 我的第一个草案计划是在mysql数据库中创build多个不同权限的用户层。 通过这种方式,我可以确保数据和脚本最需要保护第一(“私人/安全”类别),然后是第二层数据库表和脚本(“半私人”),最后处理安全性其余的PHP应用程序总体上(最终确保数据库表,基本上处理“公共”信息,例如,甚至只是查看主页需要)的结果。 因此,3个数据库用户(公用,半专用和安全)使用不同的用户连接三组不同的脚本(安全脚本,半私有脚本和公用脚本)。 通过这种方式,我可以阻止所有对“公开”或“半私人”的“安全”访问,以及“公开”的“半私密”访问。 还有其他的select,我应该看看? 如果一个分层的接入系统是一条路,那么最好的方法是什么?