Php 如果我使用';获取定义的变量()这是安全漏洞吗?任何用户都可以以任何方式请求这些变量吗?
我在一个有10年历史的PHP网站上工作,没有在任何框架上运行。只是简单的PHP脚本(老式的方式,包括/需要其他文件) 我一直在寻找一个变量来完成我正在使用函数编写的代码:-并注意到页面上输出了大量的变量,包括用户名、密码和更多的数据,如数据库凭据等 用户是否有任何方法可以打印/回显/转储/请求此数据?Php 如果我使用';获取定义的变量()这是安全漏洞吗?任何用户都可以以任何方式请求这些变量吗?,php,security,Php,Security,我在一个有10年历史的PHP网站上工作,没有在任何框架上运行。只是简单的PHP脚本(老式的方式,包括/需要其他文件) 我一直在寻找一个变量来完成我正在使用函数编写的代码:-并注意到页面上输出了大量的变量,包括用户名、密码和更多的数据,如数据库凭据等 用户是否有任何方法可以打印/回显/转储/请求此数据? 还是只有我,从服务器内部访问PHP文件的人,才有义务按照我的意愿使用PHP文件,而不是将其显示给用户,不管是自愿的还是不愿意的 您应该仅将此函数用于调试。我想不出有什么好的理由在实时代码中使用它
还是只有我,从服务器内部访问PHP文件的人,才有义务按照我的意愿使用PHP文件,而不是将其显示给用户,不管是自愿的还是不愿意的 您应该仅将此函数用于调试。我想不出有什么好的理由在实时代码中使用它 用户有没有办法获取这些数据 打印/回显/变量转储/请求 没有访问你的PHP文件或一些漏洞 如果我使用“get_defined_vars()”获取大量感官数据-这是 安全漏洞?(用户名、密码和更多数据,如数据库凭据等) 不一定是违约。但如果某处有缺口,可能很容易入侵 我认为,如果要提高安全性,这段旧代码可能需要大量工作:
- 加密密码不应在公共变量范围内
- 纯文本密码不应该出现在任何地方,也不应该存在于任何应用程序中——即使在10年前的代码中,这也将是完全失败的
- 如果有时间,封装组件(用户、数据库)
- 在php.ini中保存设置,并将php更新到最新版本(通过修复10年前的代码获得乐趣:-D)。下面是一个很好的提高PHP安全性的教程: