首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS防止站点被恶意保存

    很多同学网站都在用静态博客,安全轻量的同时也带来了些许麻烦,正如首图中那样,站点被别人全盘撸走,反而比自己文章关键字还高.自己辛辛苦苦的耕耘变成了别人的果实…所以本文提供一下通过JS手段防止网站被扒皮的手段...进入正题: 因为站点是纯静态的,所以没办法防止网页被扒走,但是我们可以让他扒走的网页 用不了… 对静态资源设置防盗链,判断可信域名…不过很多同学都放在 coding/github 之类的 没有这种功能的托管商...= top){ location.href="https://huai.pub"; } //防止被嵌套....let whitelist=['huai.pub','127.0.0.1','localhost','']; //host白名单;空的话,为以file类型打开,是为了防止保存到本地调试,如果不担心此条...把上面部分放到一个不得不运行且打开页面就运行的JS里面(不建议放到公共资源部分,比如 jQuery之类的 )…当然 需要按照注释修改为自己的参数; 之后将这条JS 加密 然后将第二部分放到页面底部的JS

    3.9K20

    【Java面试小短文】怎样防止缓存击穿?

    怎样防止缓存击穿?   实际用里面,我们会在程序和数据库之间增加一个缓存层。一方面呢是为了提数据的检索效率,提升程序的性能,另外一方面,是为了缓解数据库的并发压力。   ...缓存击穿表示请求因为某些原因全部打到了数据库,缓存并没有起到流量缓冲的作用。   ...有两种情况会导致缓存击穿 1.在redis里面,保存的热点key在缓存过期的瞬间,有大量的请求进来,导致请求全部打到数据库里。...2.对于访问量较高的缓存数据,可以设计多级缓存,尽量减少后端存储设备的压力。 3.使用分布式锁。...当发现缓存失效的时候,不是先从数据库加载数据,而是先去获取分布式锁,获取到分布式锁的线程从数据库查询到数据后写回到缓存里面,后续没有获得锁的线程只需要等待和重试就行,这样就能避免大量请求打到后端存储设备的问题

    19410

    布隆过滤器实战【防止缓存击穿】

    适合的场景 数据库防止穿库 Google Bigtable,Apache HBase和Apache Cassandra以及Postgresql 使用BloomFilter来减少不存在的行或列的磁盘查找。...如果数据量较大,不方便放在缓存中。需要对请求做拦截防止穿库。 缓存宕机 缓存宕机的场景,使用布隆过滤器会造成一定程度的误判。...当然,缓存宕机时使用布隆过滤器作为应急的方式,这种情况应该也是可以忍受的。 WEB拦截器 相同请求拦截防止被攻击。...开源项目地址:https://github.com/luw2007/bloomfilter 我们先看看一般业务缓存流程: ? 先查询缓存缓存不命中再查询数据库。...然后将查询结果放在缓存中即使数据不存在,也需要创建一个缓存,用来防止穿库。这里需要区分一下数据是否存在。 如果数据不存在,缓存时间可以设置相对较短,防止因为主从同步等问题,导致问题被放大。

    1.5K30

    布隆过滤器实战【防止缓存击穿】

    为什么引入 我们的业务中经常会遇到穿库的问题,通常可以通过缓存解决。如果数据维度比较多,结果数据集合比较大时,缓存的效果就不明显了。因此为了解决穿库的问题,我们引入Bloom Filter。...适合的场景 数据库防止穿库 Google Bigtable,Apache HBase和Apache Cassandra以及Postgresql 使用BloomFilter来减少不存在的行或列的磁盘查找。...如果数据量较大,不方便放在缓存中。需要对请求做拦截防止穿库。 缓存宕机 缓存宕机的场景,使用布隆过滤器会造成一定程度的误判。...当然,缓存宕机时使用布隆过滤器作为应急的方式,这种情况应该也是可以忍受的。 WEB拦截器 相同请求拦截防止被攻击。...可以提高缓存命中率 恶意地址检测 chrome 浏览器检查是否是恶意地址。

    1.2K10

    js节流函数和js防止重复提交的N种方法

    应用情景 经典使用情景:js的一些事件,比如:onresize、scroll、mousemove、mousehover等; 还比如:手抖、手误、服务器没有响应之前的重复点击; 这些都是没有意义的,重复的无效的操作...同样节流函数也是为了解决函数重复提交的问题,而防止重复提交的方法,不止节流函数一种实现。 方法汇总 本文整理了我在工作实践当中,觉的防止js重复提交,比较好用的方法,在这里和大家分享一下。...一、setTimeout + clearTimeout(节流函数)   本文提供两种实现方式:普通节流函数和闭包节流函数 二、设定flag/js加锁 三、通过disable 四、添加浮层比如loading...图层防止多次点击 具体实现 一、setTimeout + clearTimeout(节流函数) 方式一:闭包节流函数(可传递多个参数) /** * 闭包节流函数方法(可传参数) * @param Function...二、设定flag/js加锁 var lock = false; jQuery("#submit").on('click', function () { if (lock) { return

    8.6K40

    js节流函数和js防止重复提交的N种方法

    应用情景 经典使用情景:js的一些事件,比如:onresize、scroll、mousemove、mousehover等; 还比如:手抖、手误、服务器没有响应之前的重复点击; 这些都是没有意义的,重复的无效的操作...同样节流函数也是为了解决函数重复提交的问题,而防止重复提交的方法,不止节流函数一种实现。 方法汇总 本文整理了我在工作实践当中,觉的防止js重复提交,比较好用的方法,在这里和大家分享一下。...一、setTimeout + clearTimeout(节流函数)   本文提供两种实现方式:普通节流函数和闭包节流函数 二、设定flag/js加锁 三、通过disable 四、添加浮层比如loading...图层防止多次点击 具体实现 一、setTimeout + clearTimeout(节流函数) 方式一:闭包节流函数(可传递多个参数) /** * 闭包节流函数方法(可传参数) * @param Function...二、设定flag/js加锁 var lock = false; jQuery("#submit").on('click', function () { if (lock) { return

    4.8K120

    怎么防止同事用Evil.js的代码投毒

    最近Evil.js被讨论的很多,项目介绍如下项目被发布到npm上后,引起了激烈的讨论,最终因为安全问题被npm官方移除,代码也闭源了作为一个前端老司机,我肯定是反对这种行为,泄私愤有很多种方式,代码里下毒会被...还不如离职的时候给老板一个大逼兜来的解恨今天我们来讨论一下,如果你作为项目的负责人,如何甄别这种代码下毒欢迎加入前端学习,一起上王者,交个朋友下毒手法最朴实无华的下毒手法就是直接替换函数,比如evil.js...Illl'})`,sandbox)console.log(sandbox)复制代码ShadowRealm APITC39有一个新的ShadowRealm api,已经stage3了,可以手动创建一个隔离的js.../anti-evil.js">function isNative(fn){ return fn.toString() === `function ${fn.name}() {

    3.1K20

    怎么防止同事用Evil.js的代码投毒

    视频移步B站最近Evil.js被讨论的很多,项目介绍如下图片项目被发布到npm上后,引起了激烈的讨论,最终因为安全问题被npm官方移除,代码也闭源了作为一个前端老司机,我肯定是反对这种行为,泄私愤有很多种方式...还不如离职的时候给老板一个大逼兜来的解恨今天我们来讨论一下,如果你作为项目的负责人,如何甄别这种代码下毒欢迎加入前端学习,一起上王者,交个朋友下毒手法最朴实无华的下毒手法就是直接替换函数,比如evil.js...:'Illl'})`,sandbox)console.log(sandbox)ShadowRealm APITC39有一个新的ShadowRealm api,已经stage3了,可以手动创建一个隔离的js.../anti-evil.js">function isNative(fn){ return fn.toString() === `function ${fn.name}() {

    3.7K20

    防止页面url缓存中 ajax中post 请求的处理方式

    一般我们在开发中经常会用到Ajax请求,异步发送请求,然后获取我们想要的数据,在Ajax中使用Get请求数据不会有页面缓存的问题,而使用POST请求可是有时候页面会缓存我们提交的信息,导致我们发送的异步请求不能正确的返回我们想要的数据...下面介绍一种方式来防止ajax中post 请求 页面缓存 url 信息: $.post(url,data ,ranNum:Math.random()} ,function(data){ if(...}else{ alert("error"); } }) url : 请求的URL 地址 data : 请求的数据 ranNum : 这个是防止缓存的核心...,每次发起请求都会用Math.random()方法生成一个随机的数字,这样子就会刷新url缓存 这个ranNum的生成方式有多种形式,你也可以按照自己的生成方式进行生成,只要确保生成数据的时候是随机的就好...这就是Ajax防止发送请求的时候防止url缓存的方法。

    1.5K20
    领券