Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果我使用';获取定义的变量()这是安全漏洞吗?任何用户都可以以任何方式请求这些变量吗?_Php_Security - Fatal编程技术网

Php 如果我使用';获取定义的变量()这是安全漏洞吗?任何用户都可以以任何方式请求这些变量吗?

Php 如果我使用';获取定义的变量()这是安全漏洞吗?任何用户都可以以任何方式请求这些变量吗?,php,security,Php,Security,我在一个有10年历史的PHP网站上工作,没有在任何框架上运行。只是简单的PHP脚本(老式的方式,包括/需要其他文件) 我一直在寻找一个变量来完成我正在使用函数编写的代码:-并注意到页面上输出了大量的变量,包括用户名、密码和更多的数据,如数据库凭据等 用户是否有任何方法可以打印/回显/转储/请求此数据? 还是只有我,从服务器内部访问PHP文件的人,才有义务按照我的意愿使用PHP文件,而不是将其显示给用户,不管是自愿的还是不愿意的 您应该仅将此函数用于调试。我想不出有什么好的理由在实时代码中使用它

我在一个有10年历史的PHP网站上工作,没有在任何框架上运行。只是简单的PHP脚本(老式的方式,包括/需要其他文件)

我一直在寻找一个变量来完成我正在使用函数编写的代码:-并注意到页面上输出了大量的变量,包括用户名、密码和更多的数据,如数据库凭据等

用户是否有任何方法可以打印/回显/转储/请求此数据?
还是只有我,从服务器内部访问PHP文件的人,才有义务按照我的意愿使用PHP文件,而不是将其显示给用户,不管是自愿的还是不愿意的

您应该仅将此函数用于调试。我想不出有什么好的理由在实时代码中使用它

用户有没有办法获取这些数据 打印/回显/变量转储/请求

没有访问你的PHP文件或一些漏洞

如果我使用“get_defined_vars()”获取大量感官数据-这是 安全漏洞?(用户名、密码和更多数据,如数据库凭据等)

不一定是违约。但如果某处有缺口,可能很容易入侵

我认为,如果要提高安全性,这段旧代码可能需要大量工作:

  • 加密密码不应在公共变量范围内
  • 纯文本密码不应该出现在任何地方,也不应该存在于任何应用程序中——即使在10年前的代码中,这也将是完全失败的
  • 如果有时间,封装组件(用户、数据库)
  • 在php.ini中保存设置,并将php更新到最新版本(通过修复10年前的代码获得乐趣:-D)。下面是一个很好的提高PHP安全性的教程:

只要应用程序中没有允许RFI/LFI或任意代码执行的安全漏洞,它就安全了。如果不是这样,那么攻击者会在服务器上打开后门,直接访问配置文件,而不会麻烦通过该功能升级。