之前有收集了一些主流的隐藏链接代码,最近又发现一种相当牛X的代码,如下: 
源代码: 
<div style="position:absolute;left:expression(1-900);top:expression(3-999);">隐藏内容</a></div> 
这个代码中,expression后面的内容可以理解为JS代码并执行,但是仅IE支持这个属性,其他浏览器无效,So,搜索也无法判定是作弊。 
关于这个代码的详细介绍如下: 
最近很多朋友的站都有被有被挂上经历,一个个被弄得苦不堪言,却又无处报怨。唉,现在的挂马真是越来越牛了,杀起来也煞费苦心啊。我在帮朋友处理挂马的过种中无意中在代码里发现了一个很陌生的CSS写法“left:expression(1-900);top:expression(3-999);”,而且在其下面有无数个链向其它网站的链接,在浏览器状态下查看,居然是什么也没有发现。我马上想起了一个熟悉的概念:[strong]隐藏链接[/strong]。 
不能不说这是一种高明的写法,至少我是在看到后才知道expression可以这样用,当然你也可以笑我才疏学浅。我们都知道expression的only IE CSS属性,具休来看一下官方定义: 
IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javascript表达式,CSS属性的值等于Javascript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。 
通过定义,我大概知道了这个属性可以比喻成JS的函数,而我们又知道搜索引擎现在是无法读取JS的,那么我们是否可以判断这种隐藏链接的方法是可行的呢?另外,因为其是only IE CSS属性,就是在说其它浏览器下面它是没有效果的,也是就是说隐藏将会现形。如果是这样子,搜索引擎就更加不能认定这是一种隐藏链接作弊的方法了,你认为呢? 
1.yeeseo comments at 2019-4-22 9:37:53 
expression一直是IE only的js in css法,不过执行效率很低。 
我认为不管js还是css,只要直接写在页面代码中就很危险。另外不能说ie only其他浏览器能看到应该就不危险,你后面提到的 line-height:1px 不同的浏览器也有不同的理解,除了ie其它浏览器下文本并不会被隐藏,那么此刻搜索引擎又会站在ie的角度还是非ie的角度去看?

2019最新黑链代码expression:隐藏链接代码的更多相关文章

  1. 2019最新Android常用开源库总结(附带github链接)

    前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 1.TextView HTextView ...

  2. Intellij IDEA 2019 最新优化配置

    Intellij IDEA 2019 最新优化配置     转发自Dimple’s Blog 摘要: 之前在CSDN上写了一点关于IDEA的优化配置之类的文章,有些图片失效了,很多人都希望会有继续更新 ...

  3. Discuz论坛黑链清理教程

    本人亲测有效,原创文章哦~~~ 论坛黑链非常的麻烦,如果你的论坛有黑链,那么对不起,百度收录了你的黑链,不会自动删除,需要你手动去清理. 什么是黑链 黑链,顾名思义,就是一些赌博网站的外链,这些黑链相 ...

  4. 高端黑链SEO—恶意JS脚本注入访问伪随机域名

    摘要:我们的服务器又出入侵事故了.有客户的 html 网页底部被插入了一段 js 脚本,导致访客打开网页时被杀毒软件警告网站上有恶意代码.在黑链 SEO 中这是常见的手法,但奇特的地方就在于我们这次捕 ...

  5. web前端面试题 -- 2019最新,最全

    最近在找工作,面试了好多家公司,结果都不怎么理想.要么公司环境氛围不行,要么工资达不到理想的薪资.大部分公司对程序员的面试流程几乎都一样,来了先填一份登记表,写一套面试题,然后技术面,人事面.至于有的 ...

  6. 2019最新WEB前端开发小白必看的学习路线(附学习视频教程)

    2019最新WEB前端开发小白必看的学习路线(附学习视频教程).web前端自学之路:史上最全web学习路线,HTML5是万维网的核心语言,标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次 ...

  7. 2019前端面试系列——JS高频手写代码题

    实现 new 方法 /* * 1.创建一个空对象 * 2.链接到原型 * 3.绑定this值 * 4.返回新对象 */ // 第一种实现 function createNew() { let obj ...

  8. 2019最新最全Java开发面试常见问题答案总结

    2019最新最全Java开发面试常见问题答案总结 马上准备9月份出去面试Java开发,自己学习丢西瓜捡芝麻,学了的都忘了,所以有机会自己做个学习笔记,摘录自各个博文以及总结. 1.JAVA面向对象的特 ...

  9. Python 最常见的 170 道面试题解析:2019 最新

    Python 最常见的 170 道面试题解析:2019 最新 2019年06月03日 23:30:10 GitChat的博客 阅读数 21329 文章标签: PythonPython入门Python面 ...

随机推荐

  1. redis-migrate-tool

    一.简介 redis-migrate-tool是在redis之间迁移数据的一个方便且有用的工具.他会已服务方式不断同步两边的数据.等到合适时间,中断redis读写,对比双方数据,再替换redis地址即 ...

  2. ciscn2019华北赛区半决赛day1_web1题解

    感谢buuoj的大佬们搭建的复现环境.作为一位CTF的初学者,我会把每个题目的writeup都写的尽量详细,希望能帮到后面的初学者. http://web42.buuoj.cn 文章会不定时继续完善, ...

  3. 聊聊SSH框架

    目录 前期准备工作 jrebel(热加载,后台会自动帮忙部署项目) lombok(根据字段,自动生成对应的set和get方法) log4j(日志打印) 所需jar包 log4j2.xml log4j. ...

  4. cat命令的简单实现

    cat命令的简单实现 目标:简单的实现cat命令 实现的mic_cat命令主要有三大功能 1.mic_cat命令一次显示整个文件 $ mic_cat filename 2.mic_cat命令从键盘创建 ...

  5. python 画园和椭圆

    from matplotlib.patches import Ellipse, Circle import matplotlib.pyplot as plt fig = plt.figure() ax ...

  6. 如将Myeclipse项目改成Eclipse项目

    由于项目需求,需要将原来Myeclipse项目转移到Eclipse中去.搞了半天才搞出来,分享给大家,希望对大家有用. 首先导入一个从Myeclipse导出的项目 然后无法进行tomcat发布. 但是 ...

  7. VS Code 通过文件名查询文件并打开

    On Windows press Ctrl+p or Ctrl+e On Mac press Cmd+p on the Linux press also Ctrl+p works Older Mac ...

  8. ionic生命周期函数

    Ionic4中的生命周期函数和angualr7基本是一样的,下面我们看看Ionic4中的生命周期函数,以及生命周期函数的用法. Ionic4中内置的生命周期函数: ionViewWillEnter — ...

  9. Vue中路由的嵌套

    import Vue from 'vue'; import App from './App.vue'; //引入公共的scss 注意:创建项目的时候必须用scss import './assets/c ...

  10. spark sql插入表时的文件个数研究

    spark sql执行insert overwrite table时,写到新表或者新分区的文件个数,有可能是200个,也有可能是任意个,为什么会有这种差别? 首先看一下spark sql执行inser ...