【问题标题】:Implementing a user level access in my site?在我的站点中实施用户级访问?
【发布时间】:2013-08-20 22:50:24
【问题描述】:

我需要知道如何在我的网站中实现用户级访问。当具有级别的用户是会员时,我需要隐藏表单和图像... 在我的数据库中,我有一个用户表:

  • 身份证
  • 名词
  • apellido
  • 用户名
  • 密码
  • 级别

级别是 ENUM 并且有这两个选择:管理员和成员

我可以使用这种类型的 PHP 代码在任何页面中隐藏脚本:

<?php if(basename($_SERVER['PHP_SELF']) == 'contact.php') { ?>
<script src="js/jquery.js"></script>
<?php } ?>

而且效果很好,但我不知道如何隐藏每个示例:

<div class="box span6">
    <div class="box-header well" data-original-title>
        <h2><i class="icon-picture"></i> <?php $translate->__('Save images'); ?></h2>
        <div class="box-icon">
            <a href="#" class="btn btn-minimize btn-round"><i class="icon-chevron-up"></i></a>
            <a href="#" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
        </div>
    </div>
    <div class="box-content">
        <form action="upload.php" method="post" name="image_upload" id="image_upload" enctype="multipart/form-data">
            <label><?php $translate->__('Images type'); ?> (gif, jpg, png)</label><br />
            <input type="file" size="45" name="uploadfile" id="uploadfile" class="file margin_5_0" onchange="ajaxUpload(this.form);" />
            <div id="upload_area" class="corners align_center">
                <?php $translate->__('Please select one image'); ?>.
            </div>
        </form>
    </div>
</div>

在谷歌中我看到了这段代码,但在我的派对案例中不起作用:

<?php if($USERS->level == "administrator"): ?>

<?php endif; ?>

你能帮我解决我的问题吗?

【问题讨论】:

    标签: php mysql show-hide


    【解决方案1】:

    隐藏 js 文件对您没有多大好处,因为攻击者可以拦截提供给您的管理员用户的 javascript 文件,构建他自己的站点模型页面并让它使用该 javascript。因此,请确保在您的 php 代码中添加安全性和验证,尤其是在您的 upload.php 中

    显然这个$USERS->级别可以被你设置的任何变量替换。

     <?php if($USERS->level == "administrator") 
     { 
     ?>
     <div class="box span6">
         <div class="box-header well" data-original-title>
             <h2><i class="icon-picture"></i> <?php $translate->__('Save images'); ?></h2>
             <div class="box-icon">
                 <a href="#" class="btn btn-minimize btn-round"><i class="icon-chevron-up"></i></a>
                 <a href="#" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
             </div>
         </div>
         <div class="box-content">
             <form action="upload.php" method="post" name="image_upload" id="image_upload" enctype="multipart/form-data">
                 <label><?php $translate->__('Images type'); ?> (gif, jpg, png)</label><br />
                 <input type="file" size="45" name="uploadfile" id="uploadfile" class="file margin_5_0" onchange="ajaxUpload(this.form);" />
                 <div id="upload_area" class="corners align_center">
                     <?php $translate->__('Please select one image'); ?>.
                 </div>
             </form>
         </div>
     </div>
    
     <?php 
     } 
     ?>
    

    【讨论】:

    • 是的,但是想象一下,例如,ISP 的某个人正在查看日志并看到有人访问了 yoursite.com/upload.php,或者有人只是猜测您可能有一个 upload.php,他知道如何使用它上传到您的服务器,因为您只是将表单隐藏在不同的页面上,但在 upload.php 本身中没有设置任何安全性
    • 我想我没有解释我(对不起,我的英语是致命的..)我把你的建议代码和你的代码表格是隐藏的成员和管理员..我知道你警告我任何成员都可能超越 javascript 级别的访问权限...现在我的代码仅供律师使用,而隐藏是为公司的员工提供的......像秘书和另一种类型的员工......隐藏将仅用于例如每个客户的月收入和咨询
    猜你喜欢
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多