cookies是服务器发送并保存到客户端的一部分数据,用于存储用户信息,便于服务器识别用户,由于cookies可以在前端通过document.cookies获取到,所以就产生了被恶意篡改的漏洞,下面我们就了解一下如何对cookies信息进行加密防护,保证信息的安全;
本案例代码运行在node环境下
cookiesid+签名的方式避免被篡改cookie用户信息
var crypt={};
const KEY='afsaf$^&#gsfa@#';//用于生成签名的加密值
crypt.cryptUserId = function(userID){
var crypto=require('crypto');
var sign = crypto.createHmac('sha256',KEY);
sign.update(userID +'');//将用户id拼接上一个...
类别:网页编程 查看:95
更新:2023-07-14
摘 要 本文介绍了当前无线局域网中的安全缺陷,分析了常见的无线局域网攻击手段,并在研究无线局域早期802. 11标准安全缺陷的基础上重点分析了IEEE 802. 11i 标准中的安全机制和关键技术。关键字 无线局域网 安全 IEEE802.11 WPA TKIP EAP引言在无线局域网被广泛采用之前,最需要解决的就是网络安全问题。网络的完全性是IT专业人士、业务管理者、承担无线基础设施安全责任的相关人员所必须关注的。IEEE802. 11是第一种无线以太网标准,802.11标准涵盖许多子集,并且每一个子集的侧重点都不同,其中802.11a、802.11b和802.11g定义了核心的物理层规范,而802.11i是为解决802.11标准中的安全性问题而制订的。1.无线网络安全...
随着宽带以太网建设规模的迅速扩大,网络上原有的认证系统已经不能很好地适应用户数量急剧增加和宽带业务多样性的要求。IEEE 802.1x协议对认证方式和认证体系结构进行了优化,解决了传统PPPoE和Web/Portal认证方式带来的问题,更适合在宽带以太网中的使用。什么是IEEE 802.1x协议IEEE 802.1x 称为基于端口的访问控制协议(Port based network access control protocol)。IEEE 802.1x协议的体系结构包括三个重要的部分:Supplicant System客户端、Authenticator System认证系统、Authentication Server System认证服务器。客户端系统 一般为一个用户终端系统,该终端系统通常要安装一个客户端软件,用户通过启动这...
类别:网络技术 查看:125
更新:2014-07-11
最近有很多人问我:在IE6下设置了几个标签的float和margin属性,但左边距明明设的是5px,怎么出来后就变成了10px,而在FireFox下就没问题。在解释了这是典型的IE6的双倍边距BUG的现象之一后,并帮助那位朋友解决了问题。其实,IE6的双倍边距BUG也常常是捆扰初学者的一个难题。下面我总结一下此BUG的现象和解决办法。第一种,也是最常见的一种就是上面说到的,设置了浮动(float)后再设置外边距(margin),外边距就会是原来值的2倍。请看下面的代码:以下是HTML代码:【运行】【复制】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org...
类别:网页编程 查看:138
更新:2014-06-06
Internet Explorer – Web程序员的毒药。在IE上开发时间中有超过60%的时间是花在和IE的bug进行搏斗,让你的开发生产率严重下降。下面是一个教程,告诉你9个IE上最常见的BUG以及如何解决它们。1. 居中布局创建一个CSS定义把一个元素放到中间的位置,可能是每一个Web开发人员都会做的事情。最简单的做法是为你的元素增加一个margin: auto; ,然而 IE 6.0 会出现很多奇怪的行为。让我们来看一个例子。 #container{ border: solid 1px #000; background: #777; width: 400px; height: 160px; margin: 30px 0 0 30px;} #element{background: #95CFEF; border: solid 1px #36F; width: 300px; height: 100px; margin: 30px...
ul是一个很常用的标签,但是因为它在Firefox和IE下的不同表现,让人觉得它是个很难以控制的标签。 ul在Firefox下有个padding值, 却没有margin值;而在IE下正好相反,ul有个margin值, 却没有padding值. 在Firefox下,ul的list-style默认是处于内容的外边缘的。当然可以通过css可以将list-style置为内容的内边缘。 通过权衡得到适合两个浏览器的设置:padding:0; margin:0; list-style:inside;。还可以将ul设置为padding:0; margin:0; list-style:none;,然后给li添加背景图片,也是很不错的选择。<style type="text/css">body{font-size:12px; margin:20px; line-height:18px;}ox{width:200px; background-colo...
1.DOCTYPE 影响 CSS 处理2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width 5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上 6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制...
1.document.formName.item(”itemName”) 问题说 明:IE下,可以使用document.formName.item(”itemName”)或 document.formName.elements["elementName"];Firefox下,只能使用 document.formName.elements["elementName"].解决方法:统一使用document.formName.elements["elementName"].2.集合类对象问题说明:IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象.解决方法:统一使用[]获取集合类对象.3.自定义属性问题说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获...
1. document.formName.item("itemName") 问题 说明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elementName"]; Firefox下,只能使用document.formName.elements["elementName"]. 解决方法:统一使用document.formName.elements["elementName"].2.集合类对象问题 说明:IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象. 解决方法:统一使用[]获取集合类对象.3.自定义属性问题 说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获...
类别:网页编程 查看:143
更新:2014-06-03
die([type], [fn]) 返回值:jQuery
概述
jQuery 1.3新增。此方法与live正好完全相反。
如果不带参数,则所有绑定的live事件都会被移除。
你可以解除用live注册的自定义事件。
如果提供了type参数,那么会移除对应的live事件。
如果也指定了第二个参数function,则只移出指定的事件处理函数。
参数
type (可选)String
要解除绑定的live事件
fn (可选)Function
要解除绑定的特定处理函数
示例
描述:
给按钮解除click事件
jQuery 代码:
function aClick() {
$("div").show().fadeOut("slow");
}
$("#unbind").click(function () {
...
css(properties) 返回值:jQuery
概述
把一个“名/值对”对象设置为所有匹配元素的样式属性。
这是一种在所有匹配的元素上设置大量样式属性的最佳方式。
参数
propertiesMap
要设置为样式属性的名/值对
示例
描述:
将所有段落的字体颜色设为红色并且背景为蓝色。
jQuery 代码:
$("p").css({ color: "#ff0011", background: "blue" });
描述:
如果属性名包含 "-"的话,必须使用引号:
jQuery 代码:
$("p").css({ "margin-left": "10px", "background-color": "blue" });
...
attr(properties) 返回值:jQuery
概述
将一个“名/值”形式的对象设置为所有匹配元素的属性。
这是一种在所有匹配元素中批量设置很多属性的最佳方式。 注意,如果你要设置对象的class属性,你必须使用'className' 作为属性名。或者你可以直接使用.addClass( class ) 和 .removeClass( class ).
参数
propertiesMap
作为属性的“名/值对”对象
示例
描述:
为所有图像设置src和alt属性。
HTML 代码:
<img/>
jQuery 代码:
$("img").attr({ src: "test.jpg", alt: "Test Image" });
结果:
[ <img src= "t...
getWidth [1.6.0]
document.viewport.getWidth() -> Number
返回当前窗口可视部分的宽度。
相当于调用 document.viewport.getDimensions().width。
到此,Prototype实战教程全部放送完毕,下面,我们将提供JQuery实战教程。
getScrollOffsets [1.6.0]
document.viewport.getScrollOffsets() -> [Number, Number] 或 { top: Number, left: Number }
返回当前窗口可视部分的水平和垂直滚动偏移值。
样例
document.viewport.getScrollOffsets();
//-> { left: 0, top: 0 }
window.scrollTo(0, 120);
document.viewport.getScrollOffsets();
//-> { left: 0, top: 120 }
...
getHeight [1.6.0]
document.viewport.getHeight() -> Number
返回当前窗口可视部分的高度。
相当于调用 document.viewport.getDimensions().height。
getDimensions [1.6.0]
document.viewport.getDimensions() -> { width: Number, height: Number }
返回当前窗口可视部分的尺寸。
viewport 是一个页面所占据的浏览器窗口的一个子集——在浏览器窗口中当前可见的部分。
样例
document.viewport.getDimensions();
//-> { width: 776, height: 580 }