如何根据是否购买产品来限制对图片文件夹的访问?

时间:2019-03-23 作者:coding-dude.com

在WordPress中,我希望能够销售多组表情符号(png图像)。这些表情集存储在插件下的文件夹中(例如:wp-content/plugins/my-plugin/emoticons/set-1/happy.png)

有些表情集是免费的,有些则不是。我希望能够阻止用户访问表情符号,如果他们没有购买该集。此外,因为这些表情符号是在写文本时使用的,所以我需要尽快完成检查。

到目前为止我所做的尝试:

通过代理php文件加载表情符号,我在该文件中检查用户购买情况。这行得通,但速度太慢了

使用.htaccess 在表情符号/文件夹中。我用它做了如下检查:

RewriteEngine On
RewriteCond %{HTTP_COOKIE} .*?emoticonset-(.*)=(.*);?
RewriteCond %{SCRIPT_FILENAME}::%1 emoticons/(.*?)/(.*\\.png)::\\1$
RewriteRule .* - [L]
RewriteRule ^ / [F]
从某种意义上讲,它可以检查用户是否有cookieemoticonset-set-1 如果是,则服务于png图像,否则返回403禁止。

我也尝试了Wordpress重写规则,但这些规则似乎只适用于重定向到index.php 路径

我还有其他选择吗?有没有办法确保选项2的安全?

1 个回复
最合适的回答,由SO网友:coding-dude.com 整理而成

我找到了一个可以接受的解决问题的办法。解决方案有几个步骤:

我用过.htaccess 拒绝所有人直接访问表情文件

我在插件文件夹中创建了一个简单的PHP文件。PHP文件充当图像的代理(我通过GET参数将路径传递给表情符号)。由于PHP文件不包括整个WordPress基础设施,因此代理运行速度非常快。我还对饼干做了一个非常基本的检查(emoticon_set_name=md5(emoticon_set_name))

在WordPress插件中,我使用init 根据用户购买的表情集设置cookie值的操作。

可以用MD5加密代替任何类型的加密,并且加密的cookie值可以与其他cookie值相结合,使用户更难在浏览器中直接键入cookie。

相关推荐

重定向htaccess在我的新WordPress站点上不能正常工作

我有一个很好的老网站(www.example.com). 我创建了一个新网站(www.example.com/wordpress) 我想我可以.htaccess 重定向,就像我过去对其他html网站所做的那样。我得到的结果是:www.example.com/worpress/wordpress/wordpress......... 直到它出错。有人能帮我吗?我在中使用了此命令.htaccess:Redirect permanent / http://www.example.com/wordpress/&#