论坛url a标签建议,建议放宽一下内链接开头
← 返回列表

当前位置: 作者:帅哥 · 2026-06-14 13:42:31

#1 帅哥 · 2026-06-14 13:42:31
stalltrix
现在论坛的markdown渲染器安全限制,这种`[web](url)`。url要求以http?://开头才渲染,否则就会跳过。
我知道是常见的安全限制,但是对于论坛内链接,直接省略域名前缀而直接使用这种`[web](/t/topic/xxxx)`应该是比较常见的,对于自建节点的人来说,省略前缀可以保证大家都能在自己页面跳转,而不是强制跳到另一个网站,比较通用以及用户友好。

我发现很多坛友为了防止暴露自己的webui,又想实现内页跳转的成功渲染,直接把内页连接从自己的换成官网前缀这种土方法。

不知道各位坛友现在这种会不会不方便,我刷帖刷着刷着就发现跳到官网节点上去了,内链省略前缀的话能保证留在自己的节点,这种回复以及自己管理比较方便。

表达的有点不好,有点胡言乱语不知所言了。各位怎么看?
#2 coco · 2026-06-14 13:48:12
stalltrix
用户输出的链接限制http开头是常见的安全限制吧?不然直接`[web](javascript:alert('xss'))`之类一些奇奇怪怪绕过措施。岂不是就寄了
#3 gege · 2026-06-14 13:54:13
stalltrix
啊不方便吗?我觉得还行啊,将就用呗
#4 刘邦 · 2026-06-14 14:04:43
stalltrix
楼主可以了解一下a链接攻击,如果强制http开头,必须要猜中前缀才能正常攻击。如果不强制http开头,即使禁用了javascript:,file:之类的本地读取执行标签。也更加容易被人利用。

比如某个面板url是 /api/logout,用户get请求一下就会注销自己。有心之人故意搞`[免费资源下载](/api/logout)`这种钓鱼链接,然后受害者点一下就会被注销。

这个例子只是小问题,如果有其他系统接口,可能会有更大的问题,由于请求会被带上cookie,header。加上连接是用户生成的,就会被利用。




如果强制http开头,那么攻击者就必须猜中每一个人面板的url域名,使用`[web](https://webxxxx/api/logout)`精准猜中完整的url+path难度上了一个量级。同时即使猜中了一个也仅仅影响一个人,而影响不了所有人。
#5 e · 2026-06-14 14:17:02
stalltrix
其实我也觉得有点不方便,但是大家的URL格式都一样,相同帖子都是同一个hash,复制粘贴下就解决了
#6 鸟云 · 2026-06-14 14:21:51
stalltrix
看了下楼主与其他回复感觉都有道理,安全与便捷确实很难两全其美。

不过限制下内链开头以及格式,应该可以解决这个安全的同时提供便捷性。
#7 2077朋克 · 2026-06-15 02:26:19
stalltrix
其实我也觉得允许内链好一些,回复的话要到自己节点才能回复。现在动不动就容易跳到官方节点,又要手动跳回去才能回复。
#8 unkman · 2026-06-16 12:49:15
stalltrix
我也觉得放宽一下内链比较好,每次都替换为官网链接太麻烦了。

关键是官网链接还不好拼
#9 huaxiong · 2026-06-22 10:35:49
stalltrix
a标签解析更新推上去了,支持了一些常用的内链`[帖子1](/t/topic/xxxx)`以及`[帖子2](/index.php?topic=xxxx)`这两种常用的。也顺手支持了图片缩放语法,不过没有tag发版,可以自己编译下。

注册

或使用第三方注册

登录

没有账号? 立即注册
技术
闲聊
开发
正在提交...