本文以Google浏览器为样例,针对各种缓存数据做修改进行测试,若有修改的更好方式,各位大佬多多指教~

Cookie修改

前提条件:允许浏览器缓存数据

1、使用浏览器自带的F12来修改参数

2、切换到Application→Storage→Cookies

3、选择要修改的接口地址→右侧面板选择该接口,双击修改对应参数的Value值,修改后回车执行

session storage防篡改 nginx_字段

本地缓存修改(Location Storage)

1、切换到Application→ Storage→ Location Storage

2、选择要修改的接口地址→右侧面板选择该接口,双击修改对应参数的Value值,修改后回车执行

session storage防篡改 nginx_功能测试_02

会话缓存修改(Session Storage)

1、切换到Application→ Storage→ Session Storage

2、选择要修改的接口地址→右侧面板选择该接口,双击修改对应参数的Value值,修改后回车执行

session storage防篡改 nginx_Storage_03

IndexedDB修改

备注:IndexedDB的数据我们无法直接修改,需要修改代码来执行
1、切换到Application→ Storage→ IndexedDB
2、点击要修改的接口地址下面的evercookie,底部面板切换到Console→info,输入说明底部下的代码
3、代码要修改的地方:为request.onsuccee=function(event)下var qr字段的name及value值
示例:
如evercookie下存在key1,key2,数据如下:
Name:al1 value:’123’
Name:al2 value:‘{“u”:“13213213”:{“tor”:“1”,“os_type”:“1”}}’
修改key2的u值,修改后的代码:
var qr = objst.put({
name: ’ al2 ',
value: ‘{“u”:“000000”:{“tor”:“1”,“os_type”:“1”}}’
修改代码后,回车执行,点击页面的“刷新”按键,即可看到成功修改后的数据

原代码如下:
var indexedDB =
window.indexedDB ||
window.mozIndexedDB ||
window.webkitIndexedDB ||
window.msIndexedDB
var ver = 1
//FF incognito mode restricts indexedb access
var request = indexedDB.open(‘idb_evercookie’, ver)
request.onerror = function (e) {}

request.onupgradeneeded = function (event) {
        var db = event.target.result

        var store = db.createObjectStore('evercookie', {
          keyPath: 'name',
          unique: false,
        })
      }

request.onsuccess = function (event) {

var idb = event.target.result

if (idb.objectStoreNames.contains(‘evercookie’)) {

var tx = idb.transaction([‘evercookie’], ‘readwrite’)

var objst = tx.objectStore(‘evercookie’)

var qr = objst.put({

name: ‘al’,

value: ‘{“u”:“000000”:{“tor”:“1”,“os_type”:“1”}}’,

})

}

idb.close()

}

session storage防篡改 nginx_数据_04

Web SQL修改

备注:Web SQL的数据我们无法直接修改,需要执行sql语句来修改

1、切换到Application→ Storage→ Web SQL

2、查找测试的字段是否存在

3、Application→ Storage→ Web SQL→sqlite_evercookie→输入sql语句后按回车执行,再切回cache,可查看到被修改后的值

UPDATE cache set value=‘{“u”:“000”,“l”:{“tor”:“0”,“os_type”:“1”}}’ WHERE name=“al2”

S

注解:该sql语句的意思是:更新sqlite_evercookie下cache数据名为“al2”字段的值,

备注:

①sql语句请按业务测试的字段进行修改后再执行

②有些浏览器版本可能不支持直接粘贴代码,需要手动输入

session storage防篡改 nginx_Storage_05

完全清除缓存数据操作

说明:当存在缓存数据时,有些项目的业务通过浏览器的清除化缓存数据是没法完全清除缓存的,此时可按如下操作进行:

1、页面刷新(恢复原始配置)左侧列表切换到Storage,底部面板切换到info,输入冒号后的代码回车执行:window.name =‘’

2、Storage→Clear site data(或者到浏览器设备,清除浏览器缓存数据)

3、刷新页面,查看接口请求是否已清除

session storage防篡改 nginx_Storage_06

user_agent数据修改

1、测试地址页面打开浏览器自带的F12检查

2、打开浏览器模拟器(toggle device toolbar)位于右侧面板菜单栏,2个长方形重叠的图标,开启后会显示蓝色边框

session storage防篡改 nginx_功能测试_07


3、左侧面板Dimensions:Responsiv下拉菜单选择Edit→Devices→Add custom devicedevice

4、设置框,Device name:自定义名称,User agent string :输入要测试的值→Add

5、下拉Dimensions:Responsiv菜单,可看到自定义的user_agent,勾选后再进行测试(不勾选,不会应用到增加的user_agent)

session storage防篡改 nginx_字段_08


session storage防篡改 nginx_字段_09