dongtou9934 2019-01-25 23:38
浏览 136
已采纳

使用PHP启用/禁用htaccess?

Is there a way to disable htaccess to website users? What I need is htaccess to disable only to a select group of my website users to access a directory full of uploaded images and to the non-selected user have htaccess enabled to stop them from accessing the directory!

Any help would be great!

  • 写回答

2条回答 默认 最新

  • douxue4395 2019-01-26 00:09
    关注

    You'll want to do this: Basically redirect all requests to a php file which then does the access control.

    .htaccess

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /CheckAuthorizedToFile.php?file=$1 [NC,L,QSA]
    

    CheckAuthorizedToFile.php

    <?php
    
    
    $basepath = '/path/to/images/';
    $realBase = realpath($basepath);
    
    $userpath = $basepath . $_GET['file'];
    $realUserPath = realpath($userpath);
    
    if ($realUserPath === false || strpos($realUserPath, $realBase) !== 0) {
    //prevent directory traversal by exiting execution
    exit();
    } 
    
    if($_SESSSION['IsAllowedToViewFiles']===true)
    {
    
    
    $file = $_GET['file'];
    $type = 'image/jpeg';
    header('Content-Type:'.$type);
    header('Content-Length: ' . filesize($file));
    readfile($file);
    }
    else
    {
    echo "Not Autorized please login.";
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊