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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
不同的用户可以访问由define()初始化的PHP常量吗_Php_Security - Fatal编程技术网

不同的用户可以访问由define()初始化的PHP常量吗

不同的用户可以访问由define()初始化的PHP常量吗,php,security,Php,Security,通过define初始化的PHP常量是否可以被系统中的不同用户访问 我似乎总是把这些和环境变量混淆起来 例如,如果用户www数据执行definepassword、secure,然后作为另一个用户执行echo constantpassword;他会看到定义的密码,还是只有用户可以访问www-data常量在您的代码中定义,为每个请求运行线程;因此,在一个线程中定义的常量不会在另一个线程中自动定义。它们甚至不会被同一客户端为另一个请求定义,除非您以某种方式(如sessionAh right)持久化它们,

通过define初始化的PHP常量是否可以被系统中的不同用户访问

我似乎总是把这些和环境变量混淆起来


例如,如果用户www数据执行definepassword、secure,然后作为另一个用户执行echo constantpassword;他会看到定义的密码,还是只有用户可以访问www-data

常量在您的代码中定义,为每个请求运行线程;因此,在一个线程中定义的常量不会在另一个线程中自动定义。它们甚至不会被同一客户端为另一个请求定义,除非您以某种方式(如sessionAh right)持久化它们,但如果攻击者能够向正在运行的请求中注入代码,他就可以正确地获取数据?每个请求完全独立于其他每个请求运行;您的Web服务器确保:;唯一可以将代码注入到个人请求中的人是发起该请求的人,即客户端。。。。。虽然您仍然需要防止代码注入,但它不允许该请求查看其他请求使用的数据。但是,define函数本身不是在应用程序引导过程开始时加载的全局常量吗?如果这是在构建开始时初始化的,并且我在运行define方法的同一用户下注入代码,那么我有一个入口点来查看这些定义的常量,对吗?每个请求都完全独立于其他每个请求运行。。。。这是第一课。第二课,每个请求都会启动、运行和终止,处理该请求时使用的所有数据变量、常量等都会被忘记,除非您有意将其持久化。define只是使该值可以从该请求中的任何位置访问,而不是跨其他请求访问