用威联通原生web服务做点什么(二)
书接上回
我把导航页嵌入了yourls服务,这样一来,短网址的根路径直接就指向NAS导航页。这样用起来是舒服了,但安全性却很差。于是想着增加一个简单又实用的登录功能。调查许久,php的jwt验证比较主流,但是又不想额外装个composer,而且对于单用户鉴权有点小题大做;依赖.htaccess的简单http认证弄了半天也搞不定,可能跟yourls的设置有冲突;自己动手造轮子有考虑过,嫌麻烦...
想到yourls是有登录功能的,那么能不能“兼容”一下?一番调查之后发现了小惊喜,封装好的yourls_maybe_require_auth函数直接拿来用就可以。简单讲,首先把导航页的index.html改成index.php,起始位置增加以下几行:
大妈不让输php代码..这样,未登录状态会跳转到yourls的登录页,登陆成功后再跳转到导航页。那么登出功能怎么办?
好办。在合适位置加上这一行:

你就有了登出等一系列按钮,当然这里是没有样式的(很丑),我也懒得折腾了,能用就行
折腾过程中还发现,yourls居然有皮肤插件,我比较中意Sleeky,虽然很久没更新有点小bug,但material design确实赏心悦目。这里也能看出yourls的可定制性多么强大(php是世界上最好的语言
)。Sleeky包含前端和后端,可以单独安装。前端其实是一个静态页面,因为有了导航页,所以我就没装了。不过有想法把二者融合,就像这样:
构思图..算了,这个就扔到todo list里吧,等哪天忍受不了旧的外观再说
10.26更新:
效果图见封面吧
简单图床
终于要说回正题(前面的都是上一篇的patch),这次是要增加一个php版的图床功能,用的是icret大佬开源的简单图床程序(icret/EasyImages2.0)。作者应该也是极简主义者,无数据库,仅需php,非常的纯粹优雅。安装过程很简洁,下载源代码到web目录的自定义文件夹即可。但是要注意权限问题,QNAP的apache运行角色是httpdusr,而web目录所属文件的用户和组一般是xxx:everyone,因此可能有写入问题。简单粗暴地设置777权限也不是不行,但总感觉不太安全
。这里利用xxx(登录账户)和httpdusr同在administrators组,只需要修改 config 和 i 文件夹的用户组然后赋予写权限就行。
cd /share/Web
sudo chmod -R 755 tuchuang
cd tuchuang
sudo chmod -R 775 i config
sudo chown xxx:administrators -R i config
Readme里一句“本人善写bug”本以为是谦虚,没想到刚安装好就遇到了坑
。首先是绝对路径写死了url,导致主页是子路径时没法登录;然后是setcookie之前就echo了html,再次导致登录失败。还好自己摸索着修复完成,同时也贡献了issue,等大佬有空了批阅。跟猫站图床的逻辑很想,总体比较满意~
首页欣赏作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

柒夜零式
校验提示文案
flyshu
校验提示文案
flyshu
校验提示文案
柒夜零式
校验提示文案