Php 用视图替换纯文本用户表

Php 用视图替换纯文本用户表,php,drupal-views,Php,Drupal Views,我们继承了一些东西,有些比另一些更糟 最近继承了一个具有明文密码的用户表。通常情况下,这没什么大不了的,但很多网络应用程序都连接到了这个表上——如果没有这些应用程序的破坏和人们的抱怨,我就无法找到其中的一些应用程序 我想加密此密码列,而无需修改这些神秘应用程序的连接字符串或硬编码sql。我在想,通过使用使用'OR'子句的mysql视图替换这个表,可以通过两种方式进行身份验证。这个想法类似于加密的sql检查或明文sql检查,其中明文sql检查类似于md5(明文PW,salt)或类似的东西,本质上是

我们继承了一些东西,有些比另一些更糟

最近继承了一个具有明文密码的用户表。通常情况下,这没什么大不了的,但很多网络应用程序都连接到了这个表上——如果没有这些应用程序的破坏和人们的抱怨,我就无法找到其中的一些应用程序

我想加密此密码列,而无需修改这些神秘应用程序的连接字符串或硬编码sql。我在想,通过使用使用'OR'子句的mysql视图替换这个表,可以通过两种方式进行身份验证。这个想法类似于加密的sql检查或明文sql检查,其中明文sql检查类似于md5(明文PW,salt)或类似的东西,本质上是通过使用salt的加密程序运行明文提交并检查匹配

但我不是dba,所以这只是一个随口吐痰的代码猴。这可行吗?我是否会遇到insert/update/etc查询问题?换句话说。。。有人能告诉我为什么这行不通吗?这个数据库表也将用作drupal用户表,所以如果有任何原因会使事情变得复杂,那么最好了解一下


谢谢

数据库中的视图通常是只读的,因此是的,您在尝试通过此类视图更新或插入值时会遇到问题。另一方面,使用原始表应该可以立即更新视图。

感谢您的回复!我知道更新多任务视图时会出现一些问题,但根据这份文档,我不认为这会是一个问题。也许我错了?我会放弃这个(也就是说,用正常的方式去做,重写所有的应用程序),然后给你答案。无论如何谢谢你的回答!啊,很酷,我不知道MySQL中有可能更新一些视图,但另一方面,我仍然相信视图不应该是可更新的,而应该作为只读查询优化器。我还怀疑是否有一种简单的方法可以反转视图的功能机制(使用salt+md5)。正如你已经说过的,重写应用程序,使用一种合适的散列机制来检查密码确实更好。IRC上的某人刚刚指出,明文密码很可能会再次保存到日志文件中的磁盘上。失败:/有人对整个想法有什么建议或想法吗?