Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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
Javascript 如果用户是管理员,则显示/生成元素的安全方式_Javascript_Php_Security_Web_Admin - Fatal编程技术网

Javascript 如果用户是管理员,则显示/生成元素的安全方式

Javascript 如果用户是管理员,则显示/生成元素的安全方式,javascript,php,security,web,admin,Javascript,Php,Security,Web,Admin,我一直在研究如何安全地生成/加载/附加元素 在我的项目中,有一个管理面板,只有在管理员用户登录时才应加载(这在主网站/页面中) 我环顾四周,人们说客户端无法访问.php文件(我想除了响应),所以在身份验证方面,我没有问题 但是,在AJAX请求返回“true”之后,例如,我的.js文件将包含代码,以便附加或加载所需的代码。由于Javascript是向客户端显示的,恶意用户只需快速查看一下它,就可以看到他必须注入什么才能访问此面板(我认为对于有经验的黑客来说,这很容易) 如何向客户隐藏此信息?是否有

我一直在研究如何安全地生成/加载/附加元素

在我的项目中,有一个管理面板,只有在管理员用户登录时才应加载(这在主网站/页面中)

我环顾四周,人们说客户端无法访问.php文件(我想除了响应),所以在身份验证方面,我没有问题

但是,在AJAX请求返回“true”之后,例如,我的.js文件将包含代码,以便附加或加载所需的代码。由于Javascript是向客户端显示的,恶意用户只需快速查看一下它,就可以看到他必须注入什么才能访问此面板(我认为对于有经验的黑客来说,这很容易)

如何向客户隐藏此信息?是否有某种加密或其他方式可以加载元素


注:我知道创建一个管理页面可能比将其包含在主网站中更安全,但请记住这是我最后的选择。

你是对的,数据流可以由客户端操纵。但这是正确的。当他试图在这个面板上查看数据时,您需要一个php端的中间件,它会在每个AJAX请求中检查他是否经过身份验证以查看数据。如果不是,您的服务将返回401或403。这样,他只能看到没有数据的面板。因此,您的后端必须在每次请求时检查他是否经过身份验证。例如,如果使用者经过身份验证,则可以在会话或标头中查找。这是一种常见的方式