但是随着HTML语言的不断发展,出现了很多的不同的使用习惯,导致了浏览器为了识别每个程序员不同的习惯而用了大量的时间,所以HTML书写代码的规范性逐渐严格起来
你说的<br />就是现在民间4.5版本书写规则(对官方运量中的5.0版本书写规则会有很大的指导作用)的一个例子。引用原文“
1.所有的标记都必须要有一个相应的结束标记
以前在HTML中,你可以打开许多标签,例如<p>和<li>而不一定写对应的</p>和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:
<br /><img height="80" alt="网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />
”
关于这一点的一个新书写规则就是为了让所有的HTML代码构成一个都有首位标签,所以让BR这样单独出现的标签在后面加上一个/,凡是单独出现的标签,/就是加在后面,成对出现的标签,都是加在尾标签前面
这样做的目的仅仅是为了规范性的要求而已
于此同类的,将来的属性规范定义函数比如第二个单词往后的首字母大写、其余小写;没有属性值的属性,将会书写为赋予它本身的属性比如<td nowrap="nowrap">
最后
如果你是想成为相关的从业人员,就应该养成一个良好的书写习惯
如果你只是一个HTML的爱好者或者零时的使用者,不用过分在意这样的书写规范,只需要是成对出现的尾标签上加/表示结束,目前来说它对代码的运行并没有任何影响
html是不可以加密的!因为浏览器不支持加密!网上有许多所谓加密其实就是把网页通过Unicode码的转换实现的,这些加密都是可以
通过简单的Unicode码的转换景象解密,并没有什么卵用。而且这些加密手段只有在右键查看源代码的时候才会看到加密信息,如果是浏览器F12调试页面
的话,会直接显示解密后的页面。
并且中文文字太多会导致将你的加密过后页面代码膨胀。英文反会有压缩效果。
混淆方法一: InstructionsSubstitution
[html] view plain copy
-mllvm -sub: activate instructions substitution
-mllvm -funcSUB="func1,func2,func3": if instructions substitution is activated, apply it only on functions func1, func2 and func3
-mllvm -perSUB=20: if instructions substitution is activated, apply it with a probability of 20% on each function
2. 混淆方法二: BogusControlFlow
[html] view plain copy
-mllvm -bcf: activates the bogus control flow pass
-mllvm -funcBCF="func1,func2,func3": if the pass is activated, applies it only on functions func1, func2, func3
-mllvm -perBCF=20: if the pass is activated, applies it on all functions with a probability of 20%. Default: 100
-mllvm -boguscf-loop=3: if the pass is activated, applies it 3 times on a function. Default: 1
-mllvm -boguscf-prob=40: if the pass is activated, a basic bloc will be obfuscated with a probability of 40%. Default: 30
3. 混淆方法三: ControlFlow Flattening
[html] view plain copy
-mllvm -fla: activates control flow flattening
-mllvm -funcFLA="func1,func2,func3": if control flow flattening is activated, apply it only on functions func1, func2 and func3
-mllvm -perFLA=20: if control flow flattening is activated, apply it with a probability of 20% on each function
4. 如何用开源 source code 编译出混淆器O-LLVM ?
[cpp] view plain copy
$ git clone -b llvm-3.5 https://github.com/obfuscator-llvm/obfuscator.git
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE:String=Release ../obfuscator/
$ make -j5
编译后的结果只有bin 和 lib 是有用的,其余的都可以删除:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)