1. 简化评论中贴图的操作(【无需】再写 BBCode 语法)
2. 对读者在评论中的贴图,采用“图片代理”的方式加载,以防范潜在的隐私风险。
今天发这篇博文,除了跟大伙儿打个招呼,顺便也介绍一下上述两条的技术实现。
★新功能介绍——关于博客评论的【智能贴图】
◇原先的贴图方案——BBCode
俺在2012年为博客的评论系统增加了“BBCode 语法”。当时就支持了“评论嵌入图片”。语法是:
[img]图片网址[/img]其实这个语法还是挺简单滴。但是很多读者(尤其是新来的)并不知道这个贴图的语法。另外,最近一年来,留言的读者越来越多,贴图的人也越来越多。所以俺就想简化一下贴图的操作。
◇新的贴图方案——智能识别图片网址
目前的“智能贴图”方案是:
你只需把图片的网址贴到评论中,就可以了。评论系统的 JS 脚本会智能地判断这个网址是否对应图片。如果是,就把图片嵌入到评论中。
那么,JS 脚本如何判断某个网址是否为图片捏?
首先,假如网址以如下扩展名结尾,俺就认为该网址是“图片网址”
.jpg .jpeg .png .gif但是某些知名网站(比如 Twitter)的图床,其图片网址的结尾,并不是上述形式,咋办捏?
于是俺又补充了一个功能——对知名网站的图床进行识别。
◇原有的“图片 BBCode 语法”依然保留
有了新方案之后,大部分图片网址都可以识别出来。但是俺做不到 100% 的智能识别率。所以,原有的语法([img]图片网址[/img])还是继续保留。
万一你贴的图没有被智能识别出来,就继续用原先的贴图方式。
★关于“评论贴图”的【隐私问题】
由于俺博客的评论系统是开放的,任何人(包括匿名用户)都可以在评论中贴图。于是就引入了潜在的安全风险(隐私风险)。
◇产生隐私的技术原因
当某个读者在评论中贴图,评论内容只是包含了图片的链接(网址),图片文件本身仍然存储在原先的图片服务器上。
假设你访问了俺博客的页面,评论被加载,这时候,评论中的图片也会被加载。于是,你的浏览器就会向图片服务器发起一个 HTTP 请求(HTTP request),图片服务器收到请求,就把图片文件传输到你的浏览器(HTTP response)。这一来一回,图片服务器就能看到你的某些信息:
访问者IP
(如果你通过代理访问俺博客,“访问者IP”就是代理服务器的IP;如果没有走代理(比如墙外读者),“访问者IP”就是你的公网IP)
浏览器指纹(User Agent)
(何为“浏览器指纹”,请参见《如何保护隐私[5]:扫盲“浏览器指纹”》)
浏览器 cookie
(从技术上讲,图片服务器可以针对访问者的浏览器,读取或写入 cookie)
HTTP referer
(何为“HTTP referer”,可以参见维基百科的“这个页面”)
访问者的访问量
(图片服务器可以知道有多少“人次”查看了该图片,每次查看分别发生在哪些时间点)
◇上述风险如何被歹人利用?
假设某个朝廷的走狗,想要收集俺博客读者的信息,那么此人可以自己搭建一个图片服务器,把某个热门的图片放在自己的服务器上。然后把图片网址贴到俺博客的评论中。
由于该服务器是走狗自己搭建的,于是这个走狗就可以详细了解服务器上该图片的访问日志(哪些IP分别在哪些时间,访问了该图片,使用的是哪种浏览器、哪种操作系统)。
★上述隐私问题的【解决方法】
◇原先的防范措施——界面定制选项
去年10月份,俺进行过一次大规模的界面改版。当时也包括对评论系统的升级。在那次改版时,某个热心的香港读者向俺提出了上述隐私风险的警告。因为他在香港,无需翻墙代理就可以看俺博客。于是他就担心自己的“公网IP”被图片服务器收集。
当时俺采用的应对措施是:在博客的“界面定制选项”中,增加了一项“评论嵌入图片的显示方式”(自动显示、手动显示、不显示)。
对于有所顾忌的读者,可以设定为“不显示”。
但是这个措施不够完美——假如某个读者既想看别人的贴图,但是又担心隐私风险。咋办捏?
◇如今的防范措施——图片代理
上周五,又有一个读者在博客留言中提到了“贴图的隐私风险”。这迫使俺重新考虑更完美的防范措施。后来俺想到一个新的招数——通过“在线图片代理”。
所谓的“在线图片代理”有点类似于“Web 代理”,差别在于——“Web 代理”可以处理整个网页,而“在线图片代理”只能处理图片。
采用了这个方案之后,如果有读者在评论中贴图,俺博客的页面上【不会】直接加载该图片,而是通过图片代理【间接】加载。在这种模式下,读者的浏览器访问的是“图片代理的服务器”,然后由“图片代理的服务器”去访问“图片服务器”。
由此可见,你的浏览器【不会】直接跟“图片服务器”打交道——即使“图片服务器”有收集隐私的企图,也无法收集到你的隐私。
顺便说一下:
大约一年前(2013年12月),Gmail 也开始采用图片代理的方式,来显示邮件正文嵌入的图片。
★“图片代理”的【额外】好处——防“真理部的河蟹”
这次俺用的图片代理,应该是支持“缓存”的(由于这两天忙着改代码,尚未进行测试验证)。
如果确实有缓存,那会带来一个额外的好处(如下)。
比如经常有读者在俺博客评论中转贴新浪的长微博。这些转贴的长微博,很多都是政治敏感内容,有可能在将来会被新浪删除。一旦删除了,网友就无法再打开长微博的网址。假如俺用的“图片代理”具备缓存功能,那么即使原图已经被删除,你还是可以通过图片代理,把图片显示出来。
★两个“图片代理服务”的技术说明
(本章节面向 Web 开发人员。不懂技术的同学,可以略过)
◇使用说明
这次升级,一开始俺找到的是 CloudFlare 旗下的图片代理(使用说明参见其主页:https://images.weserv.nl/)。
后来某个热心读者推荐了 Google 的图片代理。Google 的这个图片代理,貌似没有对外公开,知道的人应该不多。有个老外写了一篇简单的使用说明(在“这里”)
经过权衡之后,俺最终用的是 Google 的图片代理。
◇两者的优缺点对比
下面说说这两个代理的优缺点对比。供有兴趣的开发人员参考。
Google 图片代理的相对优势
1.
因为俺博客本身就用的是 Google 的博客平台。Google 的服务器本来就可以收集到俺博客访问者的信息。
如今再使用 Google 的图片代理,【不会】增加额外的隐私泄露。
反之,如果用了 CloudFlare 的图片代理,CloudFlare 可以收集到俺博客访问者的信息(增加了泄漏量)。
2.
Google 的图片代理,对 TOR 用户是友好的。
反之,CloudFlare 的图片代理,如果碰到访问者是 TOR 用户,(有很大概率)会让你输入验证码。
3.
Google 的骨气比 CloudFlare 硬一些。
其实 CloudFlare 的骨气也不算太差——去年香港占中公投的网站遭遇朝廷御用骇客的 DDOS 攻击,就是由 CloudFlare 提供对抗手段。
CloudFlare 图片代理的相对优势
1.
CloudFlare 图片代理是对外公开的,应该会长时间提供服务。
而 Google 的图片代理不是对外公开的,仅仅是提供给 G+ 内部使用的。
俺不晓得 Google 的这个代理,将来是否会发生变化。
2.
CloudFlare 图片代理的功能比较全。
比如它支持:图片格式转换、裁边框、调整 JPEG 格式的 quality、等等。
上述这些功能,Google 的图片代理都没有。
★结尾
针对这次功能升级,欢迎大伙儿提出更多的建议 :)
另外,
有了智能贴图之后,俺也欢迎大伙儿把一些容易被河蟹的内容(政治敏感的长微博、热点事件照片),转贴在俺博客的评论区。
俺博客上,和本文相关的帖子(需翻墙):
博客评论功能升级(“未读”状态、按时间过滤)——兼谈“为啥俺不用其它博客平台”
博客评论功能升级(增加“留言过滤”、“200条之后自动加载”等)
博客评论功能升级(引入 BBCode 语法),顺便分享一下实现方法
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2015/04/custom-blogger-comment.html?m=0
有人打算整理一下关于编程随想下落的线索吗?(从正反两个方面来举证)
好多怪事都是人为的,第一在搞邪术如祭鬼封神献祭打call,其次是搞种姓的事,
这帮东西用老外的名义来操控挑拨玩弄这个那个,这也是奇葩的,和叫东土人找阿三还是鬼子去表达册封封禅这皇帝是东土的皇帝一样奇葩, ......
ym蜀人都不愿放手的东西如屁眼套路,幼女,献祭,老单和最高神位是有原因的,很值得去研究的 ......
即使博主能活着出狱,若要看到他更新六四系列,那也是在天朝发生了民主化之后,共产党不再有能力镇压批评者之时。
就算哪天中国情报部门不经司法程序,直接把人暗杀了,我也不会觉得奇怪。
https://www.zaobao.com.sg/realtime/china/story20241226-5649612
https://www.youtube.com/watch?v=ozVq_04XMro
如果出现了自杀场景,多半是政府秘密下令处决,并伪装成了自杀。
来自Firsthack的评论
而且,二审的发改率(发回重审+改判)是一个考核政绩的指标,高层认为这个数字越低说明冤假错案越少,然后下面就越容易升官。 ......
原神UID:310221197410210025
互动热线: 13524626271 上海移动
学历: 硕士
生日: 19741021
身高: 165 ......
周欣身份证310105197106042383
户籍地址 :上海市闵行区吴中路429弄15号501室
同户人 :薛军,男,310106196903180414,1969年03月18日; ......
希望各大媒体都报道这几个名字:审判长周欣,审判员:凌莉、须梅华。
家属贝震颖推特号:Birds_b_r_32309
多谢分享“中药注射剂”等国产医疗行业的相关丑闻。
另外,关于疫情期间的乱象,俺整理了一篇:
《每周转载:白纸抗议年的“动态清零”灾难(网文14篇,多图)》
多年前不记得在哪篇博文的评论区和博主讨论叙利亚的命运,当时叙利亚的局势还未尘埃落定。可惜博主现在大牢内,看不到。
这次叙利亚的民主转型发生在俄国陷入战争的泥沼的背景下。 ......
这个是个邪术,第一个是给上面看(不知什么鬼),其次的就真的会指导目标去实际地去做这么些的犯罪邪恶,侵犯幼女的情节是经常频繁重复地出现地,和侵犯女性,还有就是生命 ......
估计到最高法院也没戏,可能会以9:0判决禁抖音。
欢迎提出不同观点。
你提到的是这二者之间的差异,俺也同意这些差异确实存在。
但是,俺要开始说但是了。从本文,咱们也可以讨论这二者之间的共性,至少包含以下方面: ......
玩邪术玩出个什么结果好歹给公开一下,拼命玩邪术还一声不吭,很危险的,要分享分享,劳资帮你们来研究研究
劳资相信这帮东西是能穿越时空的,现在是2019年的ZS,时空被改变穿越了。穿越时空的套路。这帮东西几千年都一个屌样,来几个十级地震都不会任何改变。 ......
现在的两党是争先比谁对华更强硬,已经通过的制裁法案不会松绑,已经加的关税也不会再降,否则就会被在野党骂成“通敌叛国”。
明年1月19日之前,抖音会被禁。
每天上网的好多人都在聊政治呢,难道你要把每一个聊政治的人都抓起来判刑?那也没用。因为年轻人越来越倾向于认为政治制度才是造成他们被困在他那个阶层的重要原因。 ......
这个博客对于政府的批评,大部分都是有理有据。你要是觉得哪里不对,可以反驳博主嘛。判7年是究竟有多心虚? ......
以色列做任何事,都是美国包容范围,和美国民意无关(甚至抗议都无效)。台湾今后也会差不多。
国会一旦提出新的关于台湾的法案,无论是军售,亦或是改善台湾的国际地位等等,都很容易造成近乎【全票通过】。 ......
然而,公报本身只是行政政府的声明,其效力不如法律。 ......
然而,现在的人们,对于不能证明是否为间谍的走线客,也不太宽容。估计人们会支持一律用“有间谍嫌疑”之类的理由,实行一律驱逐的政策。 ......
但是,有些两党已经形成共识的事,其实是不受太大影响的。例如:把台湾武装成以色列。
所以我估计,中共在川普第2任期的前2年之内,就会对台湾动手。
因为这次GOP在众院优势实在太小了,稍微发生一点差错,钟摆效应会让民主党夺回之。
参议院不好说。如果连参议院也丢了,那川普后两年就可能成为跛脚总统,啥事都干不了。
不服者会选择:明着顺从,其实背地里跟共产党对着干。
众议院估计是个险胜。
上次共和党在众议院也是微弱优势,导致议长难产。
这次应该不会难产,因为有川普在,他只要在台上喊几句,就可以让任何一个人当议长,其它共和党议员不会阻挠。 ......
根据NBC新闻:
https://www.nbcnews.com/politics/immigration/trump-may-deport-hundreds-thousands-migrants-biden-allowed-legally-ent-rcna179357 ......
就是先用民调测量其它选举,比如某个地方议员的选举,然后和民调进行对比,看女性候选人是否严重吃亏,是否和民调严重不符。
如果发生该现象,那得出的差额数字,就是该地隐藏的“害羞的性别歧视者”的百分比。 ......
因为“害羞的川粉”等受访者不诚实回答问题的现象,仍然使得民调失真。
贺锦丽连普选票都输了。
你民主党输得这么惨,总不能反思为啥没去迎合那些“黑命贵零元购”之类的种族主义口号吧?反思搞种族平权搞得过头了?
......
美国出了个川贼东。抗战前没做到【攘外必先安内】,这下麻烦大了。
恭喜美国又创造了世界纪录。
估计是川普险胜。
因为大法官的任命是由总统和参议院共同决定,如果总统是川普,那他就会提名非常有争议的保守派大法官。
......
......
川普险胜29%
其它情况基本可以排除。