我在为服务于移动/平板电脑平台的视频服务时使用Nginx位置块级重写的wordpress网站有一个安全方案。
移动操作系统点是关键标准,但在此工作时,我将使用此系统来保护桌面/笔记本电脑用户代理。
请注意,这是一个经济高效的解决方案,因为我已经在客户可以付费时为iOS和Android进行分块,加密和流式传输,或者他们有更强大的需求。
考虑到WP用户最容易通过ID区分,并且我期望尽可能简化我的位置指令,我想做以下事情:
诀窍是将来自WordPress的userID转换为Nginx可以在位置块中使用的方案,因此我认为将WP用户“X”添加到Unix用户,因为“userX”将有助于简化这一过程。
我想到了安全模型(以及Nginx重写模块),就像铁路交换机一样,将每个用户发送到他们自己唯一编号的轨道上,这样前端就可以处理 userID 的基本身份验证,Nginx处理传输,当任何产品或任何对userID有效的东西时,会添加轨道末尾的金罐。
因此,只有经过身份验证(已登录)的 userID 才能在理论上访问付费视频,但任何用户都可以请求...带有可变结果。
请注意,web-root是/ var / www / mydomain,所以我在web-root之外重写视频位置!
请求URI将在前端完全形成,并作为http://domain.com/video/product1/videoFile.mp4(.webm,无论如何......)提供给任何符合条件的成员的视频播放器,因此需要保留部分URI。
但如果我在wordpress中是UserID“13”,那么,在单个位置指令中告诉Nginx我是用户“user13”的最佳方法是什么?
抱歉,这是一个很长的设置,但这是我可以提出的方案中最简单的部分 - 只有一个包含多个工作部件的组件。另外,我目前正在开发此解决方案,将在不到一周的时间内完成。我很想听到任何反馈,当然我正在寻找一些比我更好地获得shell脚本的人的“专家建议”。
答案 0 :(得分:0)
#!/bin/bash
#####
# thanks to Olivier Dulac from StackOverflow
#####
export NBMIN=15
#find all subdirs jsut underneath each /var/www/flash/avmin/*/ that are $NBMIN minutes old
for xdir in $(find /var/www/flash/avmin -type d -mindepth 2 -maxdepth 2 -cmin +${NBMIN} )
do
#for those dirs, delete symlinks "just underneath", that are older than $NBMIN minutes
find "$xdir" -mindepth 1 -maxdepth 1 -type L -cmin +${NBMIN} -exec rm '{}' \;
#and then if there is nothing else in that dir, delete it:
command rmdir "$xdir" -rf
#without -f and -r... will only remove "$i" directory if it's empty!
done