防止从浏览器控制台修改类(安全问题)

问题描述 投票:0回答:1

我是一名发展中的学生(第二年)。我目前正在实习,我的任务之一是为网站添加身份验证系统。

它“有效”,但我认为这是一个非常糟糕的代码,我正在寻找关于最佳实践和改进此解决方案的建议。

该项目只是一个普通的库存管理系统,菜单允许用户选择读取或写入,然后(点击后)滚动菜单让他们从更多选项中进行选择。

该页面包含此类:

<style type="text/css">
  /* a li.unclickable  { text-decoration: none; } */
  /* a li.unclickable:hover { cursor: default; } */
  .unclickable {
    pointer-events:none; 
    opacity:0.7;         
  }
</style>

并且身份验证仅在此处使用:

<?php
if ($admin =="1") {
    echo '<li>';
}
else {
    echo '<li class="unclickable" >';
}
?>
//some code then
</li> 

$admin值为0或1,存储在一个会话中,一切都在理论上运行良好,我可以侥幸逃脱,但你只需要按F12并编辑类(只需删除它),整个身份验证系统就变得无用了。

有没有办法阻止用户这样做,或者我应该选择另一种方法来解决问题?

该公司可能不会发现,因为他们没有任何开发/技术人员,但我不认为可以给他们这个并说它完美无瑕。

我在MVC中使用PHP,欢迎任何建议或问题,感谢您的时间。

php html css security
1个回答
0
投票

没有办法阻止浏览器devtools。 HTML页面完全由用户控制。每个安全检查都必须在服务器端完成。

正确的位置是在登录页面(通过按下按钮调用的页面),在任何认证逻辑之前再次检查$admin的值。

© www.soinside.com 2019 - 2024. All rights reserved.