脚本宝典收集整理的这篇文章主要介绍了保护PHP共享主机上的数据库和会话数据,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这在功能上很好,而且维护成本低.但是,现在它需要在共享主机上运行.
共享主机上的所有Web应用程序都作为同一用户运行,因此我的用户的会话数据容易受到攻击,数据库,代码等也是如此.
许多人建议在这种情况下在DBMS中存储会话,例如MysqL.所以起初我以为我会这样做,并将sqlite数据也移动到MysqL中.但后来我意识到网络应用程序用户需要读取MysqL凭据,所以我回到原点.
我认为最好的解决方案是使用PHP作为CGI,因此它作为每个Web应用程序的不同用户运行.这听起来不错,但我的主持人没有这样做它使用Mod_PHP.启用此功能,管理员的观点是否有任何缺点? (性能,向后兼容性等)?如果没有,那么我会要求他们启用此功能.
如果您的托管服务提供商允许它,在不同的用户下以PHP作为CGI运行会有所帮助,但我预计会有很大的性能损失,因为每个请求都需要创建一个新进程. (您可以将fcGI视为表现更佳的替代方案.)
另一种方法是根据用户提供的内容设置cookie,并使用它来加密会话数据.例如,当用户登录时,获取其用户名,密码(仅由他们提供)和当前时间的哈希,使用哈希加密会话数据,设置包含哈希的cookie.在下一个请求中,您将获得cookie,然后您可以使用它来解密会话数据.但请注意,这只会保护当前的会话数据;您的用户表,其他数据和代码仍然容易受到攻击.
在这种情况下,考虑到它提供的安全性降低,您需要决定是否可以接受共享主机的低成本权衡.这将取决于您的应用程序,而不是试图提出一种复杂的(可能甚至不是非常有效的)增加安全性的方法,您最好只接受风险.
以上是脚本宝典为你收集整理的保护PHP共享主机上的数据库和会话数据全部内容,希望文章能够帮你解决保护PHP共享主机上的数据库和会话数据所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。