你在这里

如何禁止未登录用户通过浏览器查看sites/default/files目录下的图片?

主标签

 D6 版本下,在sites/default/files目录下的图片,不允许未登录用户通过浏览器查看,请问在该怎么设置权限?

类似用户在浏览器地址栏下敲入:http://drupalchina.cn/sites/default/files/u5537/1.png

如果该用户未登录就直接跳转到登陆界面。

请问怎么实现这种功能?

Drupal 版本: 

猜你喜欢

Drupal 6.x:https://www.drupal.org/project/private_download

文档:https://www.drupal.org/node/1071944

Drupal 7.x: https://www.drupal.org/project/private_files_download_permission

Drupal China http://drupalchina.cn

webfm:https://www.drupal.org/project/webfm

看到它的模块介绍里有一条:

  • Secure file view/download (安全的文件查看/下载)

不知道是否适合?

Drupal China http://drupalchina.cn

可以写个hook_menu_alter试试,

callback里判断一下用户的角色,如果没有登录就drupal_goto();

可以看一下老葛的think in drupal第一集里hook_menu的介绍

talk is cheap
show me the code

可以自己写一个模块,比如

#  <file_protect.info>

name = file protect

description = a moudle to prevent users unlogin to access private files.

core = 6.x



#  <file_protect.module>

<?php

    file_protect_menu_alter(){
    $items['sites/default/files']['access callback'] = 'if_registered';
}

function if_registered(){
    global $user;
    if (isset($user->role))
        return true;
    else
        drupal_goto();
}

这段代码你可以试一下看,因为我是从D7开始开发的,可能会有不同。如果有误请告诉我改正

talk is cheap
show me the code