21.
@旧人,卧槽 刚才看了下我的项目还没有删除 嗯有空继续搞搞
23.
@老虎会游泳,报错 帖子详情页面 isLogin 为毛是null
27.
@小杨,JSON Page 就是你访问的网页,你在网页登录了,在 JSON Page 也就登录了。如果 JSON Page 开启跨站访问功能,就相当于把虎绿林的所有用户都暴露在跨站脚本攻击(XSS)的风险之中。当用户访问植入XSS代码的其他网站时,其他网站可以在用户毫不知情的情况下借助浏览器保存的 Cookie 肆意操作用户保存在虎绿林的任何数据,甚至直接修改用户的密码!
所以虎绿林
绝对不能允许在浏览器中发起跨站 JSON Page 访问!如果其他网站想要抓取虎绿林数据,可以通过服务器端请求虎绿林的 JSON Page,再原样返回给用户,这样既不会受跨站Ajax限制的影响,也不会危害到已经在虎绿林登录的用户的安全。
29.
@小杨,你说的没错。对于只读的部分确实可以授权跨站访问。不过其他人通常会把这个用在什么地方呢,在用户浏览器上抓取虎绿林的帖子可以实现什么功能呢?
31.
@小杨,我在首页添加了一个叫做 JHTML 的东东,你可以去玩一玩。它就是 JSON Page 下的网页插件,也许对重排版会有帮助。虽然可能需要把所有页面写进一个文件里从而增加了难度,也浪费了流量。(可以设计为加载某个或某些js文件来合理利用浏览器缓存避免流量浪费。用户选择信任这些js是他自己的事情,而且不是每个用户都受到影响。)
然后,如果真的想在第三方网站对虎绿林页面进行重排版,请使用服务器端技术请求 Json Page。因为如果只对只读内容进行重排版,得到的网站几乎是不可用的,用户不能进行发言等任何有意义的操作。并且虎绿林也不保证只读页面不泄露用户的隐私或登录信息。如果你在帖子页面发现了用户的sid,那么不要感到奇怪。
32. 跨站使用虎绿林 Json Page 最简单的方法就是用PHP编写一个代理,把任何发送给它的请求转发到虎绿林,然后返回结果给用户。如果这个代理和其他代码放在一个域名下,就不需要设置跨站标头了。这样是最安全的,因为可以确保在这个代理上登录了的虎绿林用户不会面临针对这个代理的XSS攻击。
如果你有需要,我可以写一个这样的代理(单文件php,就像我的q.php一样)。
33.
@小杨,今天又想到一个好主意,可以在提供跨站访问之前删除所有cookie来保证用户安全😄