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

时间:2019-03-06 15:00:07

标签: php html css security

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

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

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

页面包含此类:

<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,欢迎您提出任何建议或问题,谢谢。

1 个答案:

答案 0 :(得分:0)

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

执行此操作的正确位置是登录页面(通过按按钮进行调用的页面),并在进行任何身份验证逻辑之前再次检查$admin的值。