【问题标题】:Any gated content module in drupal 7drupal 7中的任何门控内容模块
【发布时间】:2016-12-14 22:01:22
【问题描述】:
【问题讨论】:
标签:
drupal
drupal-7
drupal-6
drupal-modules
【解决方案1】:
您可以拦截来自 JavaScript 的链接点击:
<a href="..document path" class="confirmation">Download document</a>
...
<script type="text/javascript">
var elems = document.getElementsByClassName('confirmation');
var confirmIt = function (e) {
if (!confirm('Do you agree...?')) e.preventDefault();
};
for (var i = 0, l = elems.length; i < l; i++) {
elems[i].addEventListener('click', confirmIt, false);
}
</script>
如果您想通过服务器检查某些内容,您可以使用 AJAX 调用...
当然,这种形式的这种方式可以通过在浏览器中输入文档的直接路径来避免。
更安全的方法是使用 .htaccess 来拦截对文档文件的 http 请求,并改为调用 php。 PHP 应该检查用户是否确认,他是否提供了文档,以及他是否没有抛出一些消息。
【解决方案2】:
另一个可能性是将Commerce File 与 Drupal Commerce 模块套件一起使用。有了它,您就可以出售对您文件的访问权限。