您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
通过localStorage同步最新的csrfToken,用于所有打开页面内收藏、感谢等操作(并非直接使用在Cookies中仍然可以避免CSRF攻击隐患)
当前为
// ==UserScript== // @name V2EX多页面操作支持(解决防CSRF策略token更新导致旧页面操作无效问题) // @namespace http://zhangbohun.github.io/ // @version 0.1 // @description 通过localStorage同步最新的csrfToken,用于所有打开页面内收藏、感谢等操作(并非直接使用在Cookies中仍然可以避免CSRF攻击隐患) // @author zhangbohun // @match *://*.v2ex.com/* // @grant none // @run-at document-end // ==/UserScript== (function() { 'use strict'; if(typeof csrfToken != "undefined")//只在csrfToken更新的页面生效 { //同步更新csrfToken到localStorage localStorage.csrfToken=csrfToken; //修改函数中固定的csrfToken字符串从localStorage中动态获取,V站没有js动态绑定的操作函数,直接替换dom方便些 var node = document.querySelector("body"); node.innerHTML=node.innerHTML.replace(new RegExp("\'"+csrfToken+"\'", "g"), "localStorage.csrfToken"); //收藏操作 var url=document.querySelector(".topic_buttons>a").href; document.querySelector(".topic_buttons>a").href="javascript:void(0)"; document.querySelector(".topic_buttons>a").onclick=function(){ window.location.href=url.split('=')[0]+'='+ localStorage.csrfToken; } } })();