安全杂论

非对称加密:
之前写过activex插件,对CA和DES了解点,现在差不多又忘了,首先DES是非对称加密方法,分公钥和私钥,公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。那这两种方式有什么作用呢:
公钥加密私钥解密:我要发邮件给B,我不想让别人知道这个内容,如是我用B的公钥加密,则只有B才能用他的私钥解密这个邮件。
私钥加密公钥解密:身份认证。我要向B证明这个邮件是我发送的,我用我的私钥加密这封邮件,B用我的公钥来解密,如果成功,则说明这个邮件是我发送的。
Certification Authority(认证中心):
很权威的机构,能发放证书证明某件事的机构。之前说的activeX安装在ie上时,如果没有使用ie里面信任的CA发放的证书来编码activeX组建的话,ie是不允许这个activeX安装运行的。
数字证书:
一个标准的X.509数字证书包含以下一些内容:
证书的版本信息;
证书的序列号,每个证书都有一个唯一的证书序列号;
证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式;
证书所有人的公开密钥;
证书发行者对证书的签名。

网银
网银业务,只要数字签名就可以了。
表示业务的数据,比如一个xml,做hash;hash结果用你的私钥加密
私钥(hash(原文))

银行对原文hash,得到hash1。hash(原文)
用你的公钥解密密文,得到hash2。公钥(私钥(hash(原文)))
比对hash1,hash2,如果一致就签名验证通过。
外加验证你的数字证书。

如果这么干,你必须和银行有协议:
凡数字签名验证通过之情况,如同您本人亲自办理之业务。//不可否认性

优点是不用传递口令。可以离线(或者另外机器),做签名;把签名交给银行。

所以私钥自己保护,很重要。银行替你保护是不当的。

网银没必要用数字证书!
现在都是基于口令保护,外加加密通信(SSL),足够了。除非能够不用口令。(美国银行就是如此)
用数字证书,意义不大,只是增加被黑掉的难度。
用户不敢,因为不懂。银行不敢,因为本来就不敢,口令挺好的。

物理安全:
容灾备份,防止单点故障

网络安全:
防火墙
病毒
网段划分
数据加密

同一个网段



Continue reading 安全杂论

【转】中继器 集线器 网桥 交换机 路由器 网关 区别



中继器(RP repeater)
是连接网络线路的一种装置,常用于两个网络节点之间物理信号的 双向转发工作。中继器是最简单的网络互联设备,主要完成物理层的功能,负责在两个节点 的物理层上按位传递信息,完成信号的复制、调整和放大功能,以此来延长网络的长度

集线器:
集线器的基本功能是信息分发,它把一个端口接收的所有信号向所有端口分发出去。一些集线器在分发之前将弱信号重新生成,一些集线器整理信号的时序以提供所有端口间的同步数据通信。
集线器(Hub)是中继器的一种形式,区别在于集线器能够提供多端口服务,也称为多口中继器。集线器在OSI/RM中的物理层。

网桥:
1)网桥(Bridge)也称桥接器,是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。2、网桥的功能:1)网桥对所接收的信息帧只作少量的包装,而不作任何修改。
2)
网桥可以采用另外一种协议来转发信息
3)网桥有足够大的缓冲空间,以满足高峰期的要求。
4)网桥必须具有寻址和路径选择的能力。


交换机:
采用交换技术来增加数据的输入输出总和和安装介质的带宽。一般交换机转发延迟很小,能经济地将网络分成小的冲突网域,为每个工作站提供更高的带宽。

路由器
1、路由器是网络层上的连接,即不同网络与网络之间的连接。
2、路径的选择就是路由器的主要任务。路径选择包括两种基本的活动:

一是最佳路径的判定;
二是网间信息包的传送,信息包拇鸵话阌殖莆敖换弧薄?、

路由器与网桥的差别:1)路由器在网络层提供连接服务,用路由器连接的网络可以使用在数据链路层和物理层完全不同的协议。路由器的服务通常要由端用户设备明确地请求,它处理的仅仅是由其它端用户设备要求寻址的报文。
2)路由器与网桥的另一个重要差别是,路由器了解整个网络,维持互连网络的拓扑,了解网络的状态,因而可使用最有效的路径发送包。


网关:

1、网关(协议转换器)是互连网络中操作在OSI网络层之上的具有协议转换功能设施,所以称为设施,是因为网关不一定是一台设备,有可能在一台主机中实现网关功能。
2、网关用于以下几种场合的异构网络互连:
1).异构型局域网,如互联专用交换网PBX与遵循IEEE802标准的局域网。
2).局域网与广域网的互联。
3).广域网与广域网的互联。
4).局域网与主机的互联(当主机的操作系统与网络操作系统不兼容时,可以通过网关连接)。3、网关的分类

1)协议网关:协议网关通常在使用不同协议的网络区域间做协议转换。
2)应用网关:应用网关是在使用不同数据格式间翻译数据的系统。
3)安全网关:安全网关是各种技术的融合,具有重要且独特的保护作用,其范围从协议级过滤到十分复杂的应用级过滤。

-----------------------------------------------------------------------------------------------------------------------
中继器是连接网络线路的一种装置,常用于两个网络节点之间物理信号的双向转发工作。中继器是最简单的网络互联设备,属于物理层的设备。
网桥是一个二层(数据链路层)设备,用于隔绝冲突,但是不能隔绝广播。常常是基于软件的,现在使用得很少。

交换机是一个多端口的二层(数据链路层)设备,又叫做多口桥,功能除了网桥所具有的功能之外,还有其特定的高级功能,如路由。

路由器是一个三层(网络层)设备,用于路径选择,并且可以隔绝广播。

网关是连接两个协议差别很大的计算机网络时使用的设备。它可以将具有不同体系结构的计算机网络连接在一起。在OSI/RM中,网关属于最高层(应用层)的设备。

-------------------------------------------------------------------------------------------------------------------------

不同层次的网络连接设备

1、物理层:中继器(Repeater)和集线器(Hub)。用于连接物理特性相同的网段,这些网段,只是位置不同而已。Hub 的端口没有物理和逻辑地址。
2、逻辑链路层:网桥(Bridge)和交换机(Switch)。用于连接同一逻辑网络中、物理层规范不同的网段,这些网段的拓扑结构和其上的数据帧格式,都可以不同。Bridge和Switch的端口具有物理地址,但没有逻辑地址。
3、网络层:路由器(Router)。用于连接不同的逻辑网络。Router的每一个端口都有唯一的物理地址和逻辑地址。
4、应用层:网关(Gateway)。用于互连网络上,使用不同协议的应用程序之间的数据通信,目前尚无硬件产品。

前两者属于OSI和TCP/IP模型的最低层,即物理层,起到数字信号放大和中转的作用。

中继器(REPEATER),
用来延长网络距离的互连设备。(局域网络互连长度是有限制,不是无限,例如在10M以太网中,任何两个数据终端设备允 许的传输通路最多为5个中继器、4个中继器组成)。REPEATER可以增强线路上衰减的信号,它两端即可以连接相同的传输媒体,也可以连接不同的媒体, 如一头是同轴电缆另一头是双绞线。

集线器(HUB)
实际上就是一个多端口的中继器,它有一个端口与主干网相连,并有多个端口连接一组工作站。它应用于使用星型拓扑结构的网络中,连接 多个计算机或网络设备。集线器又分成:1 能动式,2 被动式,3 混合式。1 动能式:对所连接的网络介质上的信号有再生和放大的作用,可使所连接的介质长度达到最大有效长度,需要有电源才能工作,目前多数HUB为此类型。2 被动式只充当连接器,其不需要电源就可以工作,市场上已经不多见。3 混合式:可以连接多种类型线缆,如同轴和双绞线。
集线器就是一种共享设备,HUB本身不能识别目的地址,当同一局域网内的A主机给B主机传输数据时,数据包在以HUB为架构的网络上是以广播方式传 输的,由每一台终端通过验证数据包头的地址信息来确定是否接收。也就是说,在这种工作方式下,同一时刻网络上只能传输一组数据帧的通讯,如果发生碰撞还得 重试。这种方式就是共享网络带宽。



网桥和交换机属于OSI和TCP/IP的第二层,即数据链路层。数据链路层的作用包括数据链路的建立、维护和拆除、帧包装、帧传输、帧同步、帧差错控制以及流量控制等。

网桥(BRIDGE)
工作在数据链路层,将两个局域网(LAN)连起来,根据MAC地址(物理地址)来转发帧,可以看作一个“低层的路由器”(路由 器工作在网络层,根据网络地址如IP地址进行转发)。它可以有效地联接两个LAN,使本地通信限制在本网段内,并转发相应的信号至另一网段,网桥通常用于 联接数量不多的、同一类型的网段。
网桥通常有透明网桥和源路由选择网桥两大类。
1、透明网桥
简单的讲,使用这种网桥,不需要改动硬件和软件,无需设置地址开关,无需装入路由表或参数。只须插入电缆就可以,现有LAN的运行完全不受网桥的任何影响。
2、源路由选择网桥
源路由选择的核心思想是假定每个帧的发送者都知道接收者是否在同一局域网(LAN)上。当发送一帧到另外的网段时,源机器将目的地址的高位设置成1作为标记。另外,它还在帧头加进此帧应走的实际路径。

交换机(SWITCH)
是按照通信两端传输信息的需要,用人工或设备自动完成的方法,把要传输的信息送到符合要求的相应路由上的技术统称。广义的交换机就是一种在通信系统中完成信息交换功能的设备。
在计算机网络系统中,交换概念的提出是对于共享工作模式的改进。
交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地 址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在才广播 到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表中。
使用交换机也可以把网络“分段”,通过对照地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的隔离广播风暴(这个应该是针对新的第三代交换机来说的),减少误包和错包的出现,避免共享冲突。
总之,交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。
其实SWITCH的前身就是网桥。交换机是使用硬件来完成以往网桥使用软件来完成过滤、学习和转发过程的任务。SWITCH速度比HUB快,这是由 于HUB不知道目标地址在何处,发送数据到所有的端口。而SWITCH中有一张路由表,如果知道目标地址在何处,就把数据发送到指定地点,如果它不知道就 发送到所有的端口。这样过滤可以帮助降低整个网络的数据传输量,提高效率。但是交换机的功能还不止如此,它可以把网络拆解成网络分支、分割网络数据流,隔 离分支中发生的故障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率。目前有使用SWITCH代替HUB的趋势。

路由器(ROUTER)
位于网络层,用于连接多个逻辑上分开的网络,几个使用不同协议和体系结构的网络。当一个子网传输到另外一个子网时, 可以用路由器完成。它具有判断网络地址和选择路径的功能,过滤和分隔网络信息流。一方面能够跨越不同的物理网络类型(DDN、FDDI、以太网等等),另 一方面在逻辑上将整个互连网络分割成逻辑上独立的网络单位,使网络具有一定的逻辑结构。
对于不同规模的网络,路由器作用的侧重点有所不同:
1、在主干网上,路由器的主要作用是路由选择。主干网上的路由器,必须知道到达所有下层网络的路径。这需要维护庞大的路由表,并对连接状态的变化作 出尽可能迅速的反应。路由器的故障将会导致严重的信息传输问题。
2、在地区网中,路由器的主要作用是网络连接和路由选择,即连接下层各个基层网络单位——园区网,同时,负责下层网络之间的数据转发。
3、在园区网内部,路由器的主要作用是分隔子网。早期的互连网基层单位是局域网(LAN),其中所有主机处于同一个逻辑网络中。随着网络规模的不断 扩大,局域网演变成以高速主干和路由器连接的多个子网所组成的园区网。在其中,各个子网在逻辑上独立,而路由器就是唯一能够分隔它们的设备,它负责子网间 的报文转发和广播隔离,在边界上的路由器则负责与上层网络的连接。

Continue reading 【转】中继器 集线器 网桥 交换机 路由器 网关 区别

内部网相关--网段

  • 問:如何定義同一網段內的 IP?什麼是子網路遮罩(Netmask)?如何以子網路遮罩來切割 IP 成不同網段呢?
  • 答:

說說這個問題本身的意義,通常我們都會以虛擬 IP 來架設家裡或企業內部的『區域網路』,那架設區域網路有何好處呢?最大的好處就是所有在你區域網路的電腦都可以直接溝通,也就是電腦之間就可以互相傳遞資 料了(例如網路上的芳鄰般,可以互傳資料!),由於處於同一網段,因此各電腦可以直接向 Server 要資料,而不用再透過其他的中繼介面(例如路由器-Router)。那如果不是在同一網段內呢?例如 192.168.1.1 及 192.168.2.1 其實是兩個不同的網段的 IP ,那樣的話,假設你的 Server 對內的 IP 為 192.168.1.2 則當 192.168.2.1 這個電腦向 Server 要資料的時候, Server 將會不認得這個電腦所傳來的訊息,因為這兩組 IP 是不同的網段內的,資料將必須通過 Router 來確認,因此若沒有 router 也就沒有辦法給予資料了!瞭解了嗎?也就是說,當你設定 IP 錯誤的時候,你的區域網路將無法工作,因為資料封包之間將互相不認識囉!所以我們得知道 IP 是否在同一網段之內,這樣才能規劃好區域網路!
以下的文章引述了很多 study-area 的內容,歡迎大家前往參觀網中人的 Linux 學習網站!

  • IP 的形式

先來瞭解一下何謂 IP ?基本上電腦是只懂得 1 與 0 這兩個單元的(二進位法),因此,IP 位址在設計上也是以二進位法來設計的。眾所皆知的, IP 是 xxx.yyy.zzz.qqq 共四組 3 位數的數字組合而成的,而每組數字皆由 0~255 所組成,其實,也就是 0 ~ (28-1) 所組成的!也就是 0.0.0.0 ~ 255.255.255.255 囉,這就是一般我們所使用的 IP 形式咯。

  • IP 的判別(Class)

好了,那網路如何以 IP 來判斷你這個封包要去的地方呢?當然囉, IP 定是有所謂的 NetID 與 HostID 囉,這樣網路的 TCP/IC 協定才知道 IP 是在哪一個地方呀!。因此, IP 可以將網路的識別碼和主機的識別碼放在單一的IP地址上面了。如果以二進位法來看,255 的表示為 11111111 ,而在判斷 IP 上,在最左邊的那一組 3 位數的號碼上,通常你可以這樣分辨:

  • 二進位法:
  • 如果是以“0”開頭的﹐這IP是一個A Class的IP(Ex>01000000.00000001.00000001.00000001)
  • 如果是以“10”開頭的﹐這是一個B Class的IP(Ex>10000001.00000001.00000001.00000001)

如果是以“110”為開頭的﹐則屬於C Class的IP(Ex>11000001.00000001.00000001.00000001)
而換算之後,就有如下的規則:

  • 十進位法:
  • 由1到126開頭的IP是A Class(Ex>10.0.0.1)﹔
  • 由128到191開頭的IP是B Class(Ex>129.0.0.1);

由192到223開頭的則為C Class(Ex>211.74.1.1)。

  • 關於子網路遮罩:

好了,這裡也不多說一些學理的原理了,如果你需要更瞭解的話,就請到 study-area 去看看,網中人前輩已經說明的很清楚了,這裡只指出一些規則罷了!通常是這樣的:

  • A Class: Netmask 255.0.0.0
  • B Class: Netmask 255.255.0.0

C Class: Netmask 255.255.255.0
以我們常使用的虛擬 IP 192.168.1.0 這個網段中,因為開頭是 192 因此是一個 C Class 的 IP ,並且他的子網路遮罩為 255.255.255.0 ,那子網路遮罩有何意義呢?其實是這樣的, 255.255.255.0 表示 前三組號碼為 NetID(不變的),而最後一組號碼則為 HostID(唯一的),因此,當我們的 Netmask 設為 255.255.255.0 時,則我們的 192.168.1.0 ~ 192.168.1.255 就屬於同一個網段內了!且在這個網段之內,每一個 hostID 只能存在一台,例如你的區域網路中就只能有一個 192.168.1.100,絕不能出現兩個!

  • 這樣是不是有點概念了呢?如果你是在一個大型企業之內的區域網路,如果嫌麻煩又不怕封包碰撞引起的網路龜速時,可以使用 B Class 的網段,例如:172.18.0.0 這一個,而 Netmask 為 255.255.0.0,也就是說,在你這個網段當中, 172.18.0.0~172.18.255.255 均屬於同一個網段中,那同一個網段有何好處呢?最大的好處就是在同一個網段中,資料將可以透過廣播的方式傳遞,而不必透過 router 來傳送!要知道, Router 可是很貴的哩!所以,你的區網之內的每部機器將可以直接溝通,而不必藉由其他的 router 來傳遞囉!
  • 上面的說明實在說的不好,反正,要曉得的是,若你的 IP 開頭是在 1~126 時,就是 A class 的 IP 群組,至於 C class 的 IP 則是 192~223 之間的 IP 囉。另外, Netmask 才是真正在控制你的 IP 是在哪一個網段的!而通常我們比較常設定的是 C class 的區域網路設定!說真的,要瞭解 IP 的話,還是請到 study-area 去看看吧!


------------------------------------------------------------------------------------------------------

一提到网段(即网络分段),通常有两个概念,一种是指物理上由网络连接设备所相隔的网络。比如由路由设备(或者交换机,甚至集线器)连接的两个局域网,我们可以称之为两个网段。另一种是指从逻辑上,根据其IP地址中的网络地址来区分其所属的网段。

为了说明这个概念,我们需要先理解IP地址的结构,IP地址是由32位二进制位组成的。如果按每8位为一组,转换成十进制的话,可以写成由三个句点分隔的,4位数字的形式。例如192.168.0.1(对应的二进制位是1100000101010000000000000000001).
IP地址由网络地址和主机地址两部分组成。分配给网络地址和主机地址的位数随着地址类型(后面会提到)的不同而不同。IP地址编址的方法与街道地址的概念相似,比如中山街100号。IP地址中的网络地址相当于中山街,主机地址相当于100号。
为了方便管理,IP地址分为5类:数量非常有限的,非常大的网络(A类);数量较多规模中等的网络(B类);为数众多的小网络(C类),以及用于组播(D类)和研究和实验之用(E类)。
那它们是如何区分的呢?IP地址的类型可以通过察看地址的第一个八位组业判断。
对于A类地址,分配IP地址的前8位作为网络地址,其余24位作为主机地址。并且,这前8位二进制位中的第一位必须是“0”。转换成十进制后,其取值的范围应在0--127之间。再加上0和127已经被留做它用,所以,A类网只有126个。
对于B类地址,分配IP地址的前16位作为网络地址,其余16位作为主机地址。并且,这前16位二进制位中的前两位必须是“10”。转换成十进制后,其取值的范围应在128--191之间。由于最高两位被限定为“10”,所以,实际上只有其后的14位用来区分网络地址,也就是说,可以有16384个B类网。
对于C类地址,分配IP地址的前24位作为网络地址,其余8位作为主机地址。并且,这前24位二进制位中的前三位必须是“110”。转换成十进制后,其取值的范围应在192--223之间。可以有2的21次方个C类网。但由于只有8位用于主机机址,所以,每个C类网,只能有254台主机(主机地址不能全为0 或全为1)。
D类和E类地址的前四位,分别规定为“1110”和“1111”,对应的十进制取值范围为224--239和240--254。
由于互联网起源于美国国防部研发的ARPANET,所以,美国占用了大部分A类网址,其后的国家,根据接入互联网时间的先后等因素,申请并获得剩余的网络地址。这也是为什么中国网民众多,可得到的许多地址却是C类的主要原因。

子网掩码,也是由32位二进位组成的,它告诉TCP/IP主机,IP地址的哪些位对应于网络地址,哪些位对应于主机地址。子网掩码中1所对应的部分网络地址,0所对应的部分为主机地址。计算时用IP地址与子网掩码按位进行逻辑与运算。例如一台主机的IP地址为192.168.0.1(对应的二进制位为 110000001010100000000000000000001),子网掩码为255.255.255.0(对应的二进制位为 11111111111111111111111100000000),由于子网掩码的前24位为1,则表示该IP地址的前24位为网络地下,后8位为主机地址。前24位转换成十进制后为192.168.0,这个地址就是192.168.0.1这个IP地址的网络地址,也叫网络ID。不同的网络地址(网络 ID)就属于不同的网段(也叫子网)。因此,说两个IP地址是否是同一个网段(或子网)的,不能仅凭IP地址,必须结合子网掩码来看。例如您提到的 192.168.0.1和192.168.1.5这两个地址,如果子网掩码是255.255.255.0,则这两个IP地址是分属两个子网的,但如果子网掩码是255.255.0.0.则这两个IP地址是同一个子网的。

有网友可能会问,既然IP地址分为5类,而且每类IP地址都有各自的范围。那么通过IP地址的值,不就可以知道哪几位是网络地址,哪几位是主机地址了吗?说的没错,确实这样。但这是在理想的情况下。前边我们也提到过,C类网中,每个网络只能有254台主机,对于一个比较大的单位和组织来说,这254台主机是远远不够的。那我们就希望能够将连续的若干个C类网,合并成一个较大的网络,在互联网上做为一个单独的网络通告。与此相反,一些机构获得了B类网,甚至A 类网址,为了便于管理,或是出于性能的考虑(如果一个网段内主机数量过多,会使网络运行效率大幅下降。),需要将网络细化。这两种情况(组给小网络和细化大网络)都需要改变子网掩码的位数,使其不同于标准分类中的掩码长度。所以,仅凭IP地址来判断其是否属于一个网段,是不正确的。

-----------------------------------------------------------------------------------------------------------
越看越多……无语
----------------------------------------------------------------------------------------------------------

互动百科,广播风暴
交换机不能阻止广播风暴
交换机与集线器的本质区别:用集线器组成的网路称为共享式网路, 而用交换机组成的网路称为交换式网路。 共享式以太网存在的主要问题是所有用户共享带宽,每个用户的实际可用带宽随网路用户数的增加而递减。这是因为当资 讯繁忙时,多个用户可能同时“争用”一个信道,而一个信道在某一时刻只允许一个用户占用,所以大量的用户经常处于监测等待状态,致使信号传输时产生抖动、 停滞或失真,严重影响了网路的性能。

Continue reading 内部网相关--网段

【转】DMZ(Demilitarized Zone)即俗称的隔离区或非军事区

copy自百度百科 

DMZ(Demilitarized Zone)即俗称的隔离区或非军事区,与军事区和信任区相对应,作用是把WEB,e-mail,等允许外部访问的服务器单独接在该区端口,使整个需要保护 的内部网络接在信任区端口后,不允许任何访问,实现内外网分离,达到用户需求。DMZ可以理解为一个不同于外网或内网的特殊网络区域,DMZ内通常放置一 些不含机密信息的公用服务器,比如Web、Mail、FTP等。这样来自外网的访问者可以访问DMZ中的服务,但不可能接触到存放在内网中的公司机密或私 人信息等,即使DMZ中服务器受到破坏,也不会对内网中的机密信息造成影响。

DMZ介绍

为了配置管理方便,内部网中需要向外提供服务的服务器往往放在一个单独的网段,这个网段便是非军事化区。防火墙一般配备三块网卡,在配置时一般分别分别连接内部网,internet和DMZ。

DMZ的作用

在实际的运用中,某些主机需要对外提供服务,为了更好地提供服务,同时又要有效地保护内部网络的安全,将这些需要对外开放的主机与内部的众多网络设备分 隔开来,根据不同的需要,有针对性地采取相应的隔离措施,这样便能在对外提供友好的服务的同时最大限度地保护了内部网络。针对不同资源提供不同安全级别的 保护,可以构建一个DMZ区域,DMZ可以为主机环境提供网络级的保护,能减少为不信任客户提供服务而引发的危险,是放置公共信息的最佳位置。在一个非 DMZ系统中,内部网络和主机的安全通常并不如人们想象的那样坚固,提供给Internet的服务产生了许多漏洞,使其他主机极易受到攻击。但是,通过配 置DMZ,我们可以将需要保护的Web应用程序服务器和数据库系统放在内网中,把没有包含敏感数据、担当代理数据访问职责的主机放置于DMZ中,这样就为 应用系统安全提供了保障。DMZ使包含重要数据的内部系统免于直接暴露给外部网络而受到攻击,攻击者即使初步入侵成功,还要面临DMZ设置的新的障碍。

DMZ网络访问控制策略

当规划一个拥有DMZ的网络时候,我们可以明确各个网络之间的访问关系,可以确定以下六条访问控制策略。

1.内网可以访问外网

内网的用户显然需要自由地访问外网。在这一策略中,防火墙需要进行源地址转换。

2.内网可以访问DMZ

此策略是为了方便内网用户使用和管理DMZ中的服务器。

3.外网不能访问内网

很显然,内网中存放的是公司内部数据,这些数据不允许外网的用户进行访问。

4.外网可以访问DMZ

DMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ.同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。

5.DMZ不能访问内网

很明显,如果违背此策略,则当入侵者攻陷DMZ时,就可以进一步进攻到内网的重要数据。

6.DMZ不能访问外网

此条策略也有例外,比如DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作。在网络中,非军事区(DMZ)是指为不信任系统提供服务的孤立网段,其目的是把敏感的内部网络和其他提供访问服务的网络分开,阻止内网和外网直接通信,以保证内网安全。

DMZ服务配置

DMZ提供的服务是经过了地址转换(NAT)和受安全规则限制的,以达到隐蔽真实地址、控制访问的功能。首先要根据将要提供的服务和安全策略建立一个清 晰的网络拓扑,确定DMZ区应用服务器的IP和端口号以及数据流向。通常网络通信流向为禁止外网区与内网区直接通信,DMZ区既可与外网区进行通信,也可 以与内网区进行通信,受安全规则限制。

1 地址转换

DMZ区服务器与内网区、外网区的通信是 经过网络地址转换(NAT)实现的。网络地址转换用于将一个地址域(如专用Intranet)映射到另一个地址域(如Internet),以达到隐藏专用 网络的目的。DMZ区服务器对内服务时映射成内网地址,对外服务时映射成外网地址。采用静态映射配置网络地址转换时,服务用IP和真实IP要一一映射,源 地址转换和目的地址转换都必须要有。

2 DMZ安全规则制定

安全规则集是安全策略的技术实 现,一个可靠、高效的安全规则集是实现一个成功、安全的防火墙的非常关键的一步。如果防火墙规则集配置错误,再好的防火墙也只是摆设。在建立规则集时必须 注意规则次序,因为防火墙大多以顺序方式检查信息包,同样的规则,以不同的次序放置,可能会完全改变防火墙的运转情况。如果信息包经过每一条规则而没有发 现匹配,这个信息包便会被拒绝。一般来说,通常的顺序是,较特殊的规则在前,较普通的规则在后,防止在找到一个特殊规则之前一个普通规则便被匹配,避免防 火墙被配置错误。
DMZ安全规则指定了非军事区内的某一主机(IP地址)对应的安全策略。由于DMZ区内放置的服务器主机将提供公共服务,其地址是公开的,可以被外部网的用户访问,所以正确设置DMZ区安全规则对保证网络安全是十分重要的。
FireGate可以根据数据包的地址、协议和端口进行访问控制。它将每个连接作为一个数据 流,通过规则表与连接表共同配合,对网络连接和会话的当前状态进行分析和监控。其用于过滤和监控的IP包信息主要有:源IP地址、目的IP地址、协议类型 (IP、ICMP、TCP、UDP)、源TCP/UDP端口、目的TCP/UDP端口、ICMP报文类型域和代码域、碎片包和其他标志位(如SYN、 ACK位)等。
为了让DMZ区的应用服务器能与内网中DB服务器(服务端口4004、使用TCP协议)通信,需增加DMZ区安全规则, 这样一个基于DMZ的安全应用服务便配置好了。其他的应用服务可根据安全策略逐个配置。
DMZ无疑是网络安全防御体系中重要组成部分,再加上入侵检测和基于主机的其他安全措施,将极大地提高公共服务及整个系统的安全性。
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统 与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web 服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又 多了一道关卡。网络结构如下图所示。
网络设备开发商,利用这一技术,开发出了相应的防火墙解决方案。称“非军事区结构模式”。DMZ通常是一个过滤的子网,DMZ在内部网络和外部网络之间构造了一个安全地带。网络结构如下图所示。
DMZ防火墙方案为要保护的内部网络增加了一道安全防线,通常认为是非常安全的。同时它提供了 一个区域放置公共服务器,从而又能有效地避免一些互联应用需要公开,而与内部安全策略相矛盾的情况发生。在DMZ区域中通常包括堡垒主机、Modem池, 以及所有的公共服务器,但要注意的是电子商务服务器只能用作用户连接,真正的电子商务后台数据需要放在内部网络中。

在这个防火墙方案中,包括两个防火墙,外部防火墙抵挡外部网络的攻击,并管理所有内部网络对 DMZ的访问。内部防火墙管理DMZ对于内部网络的访问。内部防火墙是内部网络的第三道安全防线(前面有了外部防火墙和堡垒主机),当外部防火墙失效的时 候,它还可以起到保护内部网络的功能。而局域网内部,对于 Internet的访问由内部防火墙和位于DMZ的堡垒主机控制。在这样的结构里,一个黑客必须通过三个独立的区域(外部防火墙、内部防火墙和堡垒主机) 才能够到达局域网。攻击难度大大加强,相应内部网络的安全性也就大大加强,但投资成本也是最高的。

Continue reading 【转】DMZ(Demilitarized Zone)即俗称的隔离区或非军事区

【转】防火墙逻辑隔离策略

VLAN 隔离内外网:电子政务网络中存在多种业务,要实现多网的统一互联,同时又要保证各个网络的安全,除了在应用层上通过加密、签名等手段避免数据泄漏 和篡改外,在局域网的交换机上采用VLAN技术进行,将不同业务网的设备放置在不同的VLAN中进行物理隔离,彻底避免各网之间的不必要的任意相互访问。 在实现VLAN的技术中,以基于以太网交换机端口的VLAN(IEEE 802.1Q)最为成熟和安全。防火墙访问控制保证。
网络核心安全:为了网络构建简单,避免采用太多的设备使管理复杂化,从而降低网络的安全性,可以放置一个高速防火墙,如图所示,通过这个这个 防火墙,对所有出入中心的数据包进行安全控制及过滤,保证访问核心的安全。另外,为保证业务主机及数据的安全,不允许办公网及业务网间的无控制互访,应在 进行VLAN划分的三层交换机内设置ACL。
数据加密传输:对于通过公网(宽带城域网)进行传输的数据及互联,数据加密是必须的,在对关键业务做加密时,可以考虑采用更强的加密算法。
设置DMZ区进行外部访问:通常对于外部网络的接入,必须采取的安全策略是拒绝所有接受特殊的原则。即对所有的外部接入,缺省认为都是不安全 的,需要完全拒绝,只有一些特别的经过认证和允许的才能进入网络内部。与网络中心及其它内部局域网之间的互连采用停火区(DMZ),设置集中认证点对接入 用户进行安全认证,认证及相关服务器位于停火区,业务通过代理服务器进行交换,不允许外部网络直接访问内部系统
----------------------------------------------------------------------------------------------------------------------------
当前虚拟园区网1.0方案已广泛应用于政府、大企业、医疗等行业,它提出和实现了网络虚拟化所需的基本技术思路:在用户接入网络时,使用 802.1x、Portal协议提供身份识别、权限控制服务,实现最优的访问控制策略;在用户接入网络后,通过MPLS VPN、VRF-VRF等多种逻辑隔离技术,能在保留当前园区网设计优势的同时,在一张物理网络上叠加多层逻辑分区,提供安全的虚拟化网络资源;共享服务 和安全策略实施的集中化,大大减少了在园区网中维护不同群组的安全策略和服务所需的资本和运营开支,有助于进行统一的规划建设和运维管理。
一、 虚拟园区网1.0精髓
在“虚拟园区网解决方案1.0”中,重点关注如何解决以下三个问题:
◆网络接入控制:确保接入用户的合法性和安全性,并能够根据用户身份动态授权;
◆业务逻辑隔离:确保用户组业务的安全隔离和可控互访,即VPN隔离和互访;
◆统一服务:确保每个用户组能够获得正确的服务,并进行集中的管理和策略控制。
这三方面是实现虚拟化园区网络建设中必须要面对和解决的问题,解决这些问题的思路和技术方案构成了“虚拟园区网解决方案1.0”的精髓。
1. 网络接入控制
通过网络接入控制对接入网络的终端进行接入安全保障和基于身份的动态访问授权。
虚拟园区网使用逻辑隔离技术,在一张物理网络上虚拟出多套封闭的逻辑资源。在用户接入网络的时候,必须要考虑用户所属群组与逻辑网络资源之间的对应关系,以便于给用户分配正确的权限,并保证封闭逻辑资源的安全性。
这里,建议部署H3C的终端准入控制(EAD,End user Admission Domination)系统,该系统根据接入用户的身份信息,与网络设备配合对用户进行动态授权,控制不同群组用户能够访问到不同的逻辑资源;并能提供用 户终端的安全性和法规遵从性检查,加强对用户的集中管理,提高网络终端的主动安全防御能力。
在使用EAD系统进行灵活准入控制的时候,根据应用场景不同,通常有两种控制方式:
◆802.1x方式 

图1. 802.1x方式的网络接入控制典型组网

如图1所示,接入控制点在园区网络的接入层设备、认证协议使用802.1x。802.1x是端口安全的标准协议,能够在认证用户及其关联的VPN间形成连接,防止在未授权情况下访问禁止接入的资源。
初始情况下,未认证用户连接网络时,根据预配的策略,用户不能接入网络,或只能访问部分安全等级要求不高的公共资源,如公共资源VPN里的打印机、软件升级服务器、病毒库版本升级服务器、访问Internet服务等,无法访问其它安全等级较高的私有VPN资源。
用户使用EAD系统通过认证后,网管会根据认证用户名的群组归属属性,由策略服务器给接入层控制设备下发端口归属关系配置调整信息,建立用户接入端 口与相应VPN的连接关系,提供用户对相应VPN内资源的访问通道。此时,用户只能访问所授权访问VPN内的资源,无法访问和查看其它用户VPN内的资 源,从而实现对接入用户的资源访问权限控制和安全的逻辑隔离。并且同一物理端口在不同时刻可分别提供给多个用户使用,每次认证通过后策略服务器都会根据认 证用户属性下发端口归属VPN的配置信息,使用户接入到不同的VPN中去。用户在未认证时,可能都能访问相同的公共资源,但用户认证后,就只能分别访问所 归属VPN内的资源,同一台终端先后使用不同的用户名认证接入网络,能够访问到的资源也是不同的。这样大大提高了用户动态接入网络资源的灵活性。
802.1x方式在网络接入的最前端进行访问权限控制和安全检查,通过调整用户接入端口与VPN的映射关系来控制用户对相应VPN资源的访问,具有较高的安全性。同时,能够支持用户的位置移动性,无论用户从边缘的哪个接口接入,都能访问到相同的授权资源。
◆Portal方式
对于无法在接入层设备进行接入访问控制的组网,还可以采用一种基于汇聚网关的Portal认证方案。 

图2. Portal方式网络接入控制典型组网

在这个方案中,用户的接入身份认证和权限控制点不在接入层设备上,而是在位置较高的汇聚、核心层,这样可以兼容下层网络的异构性、对接入层设备的要求也较低。但是,这种部署方式要求虚拟化VPN资源的划分要在Portal认证点之上。
初始情况下,用户可以访问不需要认证的资源,如本地局域网内的部分资源、Internet服务等。当用户需要通过Portal网关访问受控资源的时 候,就需要启动EAD客户端或通过认证网关推送的认证界面进行认证,服务器根据认证用户信息,下发控制策略给Portal网关,建立用户与相应VPN资源 的访问通道、限制对其它VPN虚拟资源的访问。
基于Portal方式的接入控制简化方案也得到了广泛应用,如在某个大型园区网络中部署了虚拟化技术对办公业务和访问Internet业务进行逻辑 隔离,采用Portal认证方式:用户接入网络后,无需认证即可访问Internet,此时用户无法访问办公业务资源;当用户需要访问办公VPN资源的时 候,数据流触发Portal网关推送认证界面给用户,用户认证通过后即可访问办公VPN资源,但此时由于策略服务器给Portal网关下发了控制策略,用 户无法再同时访问Internet,若需访问Internet,用户需要退出认证。这样,能够更加灵活、简化对网络虚拟资源的访问控制,更便于部署和使 用。
网络接入控制包含两方面内容:一是对接入用户访问网络虚拟资源的权限控制,二是对接入用户的合法性和安全性检查。EAD系统充分支持这两方面功能, 无论使用802.1x方式还是Portal方式的认证,都能对接入终端的安全性、合规性进行检查,并提供检查报告,对不满足要求的终端,限制其接入网络。 对认证通过并进行了访问授权的用户,仍能提供实时的安全状态监测,以保障终端和网络的安全性。
2. 业务逻辑隔离
目前,有多种技术能够支持网络虚拟化分区、实现用户组业务的逻辑隔离,包括GRE、VRF-VRF、MPLS L3/L2 VPN等。但是从虚拟园区网方案在行业应用的分析来看,VRF-VRF和MPLS L3 VPN是应用较多的技术,也相对于其它技术更有优势。
◆中小型园区
对于一些中小型园区,网络设备层次少、结构简单、业务划分关系固定,非常适合VRF-VRF方案。利用园区内设备的虚拟路由转发功能,为不同群组/ 业务划分固定的逻辑隔离通道,满足业务的横向隔离需求。一次配置完成后即可稳定地提供服务,支持通道间的地址重叠和控制策略不一致。
◆大型园区
对于大型复杂园区,更适合使用MPLS L3 VPN技术建立虚拟化园区网络。MPLS L3 VPN已在广域网应用多年,技术成熟、控制灵活,对于虚拟网络间的互访业务能够提供很好的支持。由于在大型园区内部,无论业务系统集中还是分布部署,都可 能存在跨VPN的业务互访和资源共享,VRF-VRF、GRE等隔离技术无法很好地支撑这种业务访问模式。MPLS VPN依靠路由、接口VPN实例绑定关系建立VPN通道进行通信,通过路由的引入引出控制策略,实现VPN间灵活的互访,并且能够支持可靠性检测、多路径 负载均衡等技术,所以更适合网络规模大、设备台数多的组网应用环境。
利用MPLS VPN把网络虚拟化从广域延伸到园区,需要园区交换机产品对MPLS VPN特性提供全面的支持,否则无法实现真正的网络虚拟化。以H3C为例,其路由器、交换机、安全等产品能够提供全面的网络虚拟化技术支持,实现跨广域、园区的端到端虚拟化部署方案。 

图3. H3C端到端的虚拟化解决方案

3. 统一服务
传统物理隔离网络带来的一个严重问题:应用服务器需要重复部署且数据同步困难、安全策略需要分别定义和配置、管理复杂度增加。园区虚拟化方案能够有 效解决以上难题,为用户提供集中的数据中心服务、统一的Internet/广域网出口、统一的网络监控/管理软件,提高资源的利用率、降低管理复杂 度:
◆集中的数据中心服务。数据中心的应用支持多VPN用户的共享或专用,通过云计算、服务器虚拟化等技术的应用,屏蔽数据中心内部硬件设备间的差异,根据虚拟网络用户组和业务的需求分配计算、存储资源,提供统一、集中的服务,以降低提供这些服务的资本和运营开支;
◆ 园区内所有用户共享统一的Internet/广域网接口。虚拟防火墙、NAT转换等技术的应用减少了网络、安全设备的部署数量,多VPN用户共享 集中部署的防火墙和入侵检测设备。以H3C的网络、安全产品为例,是通过VPN感知功能,在一个设备上能够并发提供几百个虚拟防火墙,每个虚拟网络用户组 都能在各自的虚拟防火墙实例上实施自己的策略,而整体上只需要拥有一台硬件防火墙设备;
◆统一的网络管理、监控软件。通过专门的管理VPN,实现对整网资源的配置管理和对各种业务流量的监控、规划。例如通过iMC统一管理平台、MPLS VPN Manager对全网设备、用户、VPN业务进行统一管理和监控,降低管理难度和运维成本。
二、 结束语
实现园区甚至整个网络的虚拟化,需要考虑用户终端接入的安全检查、接入VPN的动态授权、MPLS VPN端到端的业务隔离、虚拟防火墙、NAT多实例、共享数据中心、统一的运维和管理平台等多种技术、产品的综合应用,从而达到理想的设计效果。
虚拟园区网解决方案1.0以灵活的接入控制、安全的业务逻辑隔离、统一服务能力为精髓,提供了一套完整的实现虚拟化的基础方案。之后2.0方案在此 基础上,整合了IRF智能弹性架构、多业务插卡等亮点技术,更进一步提高了网络的可靠性、提升整体资源的利用率、降低用户投资、简化网络管理、增强应用提 供能力,开始了向智能化信息网络架构的迁移。

Continue reading 【转】防火墙逻辑隔离策略

关于clientHeight、offsetHeight、scrollHeight

关于clientHeight、offsetHeight、scrollHeight
window.screen.availWidth      返回当前屏幕宽度(空白空间) 
window.screen.availHeight      返回当前屏幕高度(空白空间) 
window.screen.width      返回当前屏幕宽度(分辨率值) 
window.screen.height      返回当前屏幕高度(分辨率值) 
window.document.body.offsetHeight;      返回当前网页高度 
window.document.body.offsetWidth;      返回当前网页宽度 
我们这里说说四种浏览器对 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解释。
这四种浏览器分别为IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。
NS指代webkit(safari,chrome)
clientHeight
大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。
offsetHeight
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。
scrollHeight
IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。
NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。
简单地说两个互相对调就差不多了
clientHeight 就是透过浏览器看内容的这个区域高度。
NS、 FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。
IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight 则是网页内容实际高度。
同理
clientWidth、offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。
=======================================================================
clientHeight与offsetHeight的区别
许多文章已经介绍了clientHeight和offsetHeight的区别,就是clientHeight的值不包括scrollbar的高 度,而offsetHeight的值包括了scrollbar的高度。然而,clientHeight和offsetHeight的值到底由什么组成的 呢?如何计算这两个数的值?
1. clientHeight和offsetHeight的值由什么决定?
假如我们有以下的DIV,主要显示的文字为"This is the main body of DIV"。
如上图所示,clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,而offsetHeight的值由DIV内容 的实际高度,CSS中的padding值,scrollbar的高度和DIV的border值决定;至于CSS中的margin值,则不会影响 clientHeight和offsetHeight的值。
2. CSS中的Height值对clientHeight和offsetHeight有什么影响?
首先,我们看一下CSS中Height定义的是什么的高度。如在本文最后部分“APPENDIX示例代码”(注:以下称为“示例代码”) 中,innerDIVClass的Height值设定为50px,在IE下计算出来的值如下所示。也就是说,在IE里面,CSS中的Height值定义了 DIV包括padding在内的高度(即offsetHeight的值);在Firefox里面,CSS中的Height值只定义的DIV实际内容的高 度,padding并没有包括在这个值里面(70 = 50 + 10 * 2)。
in IE:
innerDiv.clientHeight: 46
innerDiv.offsetHeight: 50
outerDiv.clientHeight: 0
outerDiv.offsetHeight: 264
in Firfox:
innerDiv.clientHeight: 70
innerDiv.offsetHeight: 74
outerDiv.clientHeight: 348
outerDiv.offsetHeight: 362

在上面的示例中,也许你会很奇怪,为什么在IE里面outerDiv.clientHeight的值为0。那是因为示例代码中,没有定义 outerDIVClass的Height值,这时,在IE里面,则clientHeight的值是无法计算的。同样,在示例代码中,如果将 innerDIVClass中的Height值去年,则innerDIV.clientHeight的值也为0。(注:在Firefox下不存在这种情 况)。
如果CSS中Height值小于DIV要显示内容的高度的时候呢(当CSS中没有定义overflow的行为时)?在IE里面,整个 clientHeight(或者offsetHeight)的值并没有影响,DIV会自动被撑大;而在Firefox里面,DIV是不会被撑开的。如在示 例代码中,将innerDivClass的Height值设为0,则计算结果如下所示。IE里面的DIV被撑开,其clientHeight值等于内容的 高度与padding*2的和;而Firefox里面,文字将溢出DIV的边界,其clientHeight值正好是padding值的两倍。
In IE:
innerDiv.clientHeight: 38
innerDiv.offsetHeight: 42
outerDiv.clientHeight: 0
outerDiv.offsetHeight: 256
In Firefox:
innerDiv.clientHeight: 20
innerDiv.offsetHeight: 24
outerDiv.clientHeight: 298
outerDiv.offsetHeight: 312

APPENDIX 示例代码
<html>
<head>
<style type="text/css">......
.innerDivClass
{...}{...}{...}{
       color: red;
       margin: 37px;
       padding: 10px;
       border: 2px solid #000000;
       height: 50px;

}
.outerDivClass
{...}{...}{...}{
       padding: 100px;
       margin: 200px;
       border: 7px solid #000000;
}
</style>
<script>......
function checkClientHeight()
......{
      var innerDiv = document.getElementById("innerDiv");
      var outerDiv = document.getElementById("outerDiv");
       result.innerHTML = "innerDiv.clientHeight: " + innerDiv.clientHeight + "<br />";
       result.innerHTML += "innerDiv.offsetHeight: " + innerDiv.offsetHeight + "<br />";
       result.innerHTML += "outerDiv.clientHeight: " + outerDiv.clientHeight + "<br />";
       result.innerHTML += "outerDiv.offsetHeight: " + outerDiv.offsetHeight + "<br />";
}
</script>
</head>
<body>
<div id="outerDiv" class="outerDivClass">
<div class="innerDivClass" id="innerDiv">
Hello world.         
</div>
</div>
<p></p>
<div id="result">
</div>
<input type="button" onclick="checkClientHeight()" text="Click Me" Value="Click Me" />
</body>
</html>

Continue reading 关于clientHeight、offsetHeight、scrollHeight

ie文本提示相关--事件注意

1:keydown和keyup事件不是一一对应的,用户按着键不动,再松开的话,会触发多个keydown事件而只触发一个keyup事件。
2:extjs的wndow点击关闭触发不了document的onclick事件,不知道什么回事.
3:使用extjs的菜单来响应用户输入反应很慢,效果很不好,所以我自己写ui。
4:文本框输入的时间顺序是keydown->keypress->keyup 只有keyup事件才算将用户刚输入的字符输入到文本框,即value的值包含了用户刚才的输入。
5: 原来在keydown时间里面来判断词边界,哪知对于回车这类,在keydown里面获得的选中文本是不正确的,它忽略了回车换行,把我纠结的哟。最后放在keyup时间里面就可以了,想想也是,就应该在keyup时间里处理的嘛,如果用户按着建不动这个时候是没必要处理提示逻辑的。

TextRange 的offsetLeft/offsetTop是相对于浏览器客户区左上角为起始点,它一直是绝对定位的。但是要实现建议的浮动下拉框式时,使用的是 style.left/top属性,这个坐标是以普通的文档的body坐标系统,因此需要加上body的滚动位置。
xy = [sel.offsetLeft, sel.offsetTop];               
xy[0] += document.body.scrollLeft;
xy[1] += document.body.scrollTop;



Continue reading ie文本提示相关--事件注意

mysql 锁 事务 并发

在做manage console时,由于存在后台和ui两方面修改树数据,存在并发问题。而此树实现又存在递归。

myisam方式是不行的,它需要锁住所有涉及到的表,这样的话,根本达不到只锁一个表的目的。myisam也不支持事务,但它支持表锁,但是他的锁需要手动释放,事务提交时是没有自动解锁的。innodb支持事务,但只支持行级锁。在事务提交时会自动解锁。

可使用单独表来实现并发互斥,此表只有一行记录,在进行操作事务时将此行用hibernate LOCKMODE.Read锁
代码:getSession().load(Lock.class, 0, LockMode.READ);
则达到互斥效果。

Continue reading mysql 锁 事务 并发

我出的web,java面试题

自我介绍
技术题
web容器用过哪些,优缺点
margin 方向顺序
经验
1:你最喜欢的编程语言是什么,为什么喜欢它,如果你喜欢的是java的话,你觉得它与javascript有什么区别吗?如果不是,你觉得你喜欢的语言与java又有什么区别?能谈谈你对javascript的看法吗?   
2:能谈谈过去18个月中java平台发生了什么事情吗?
2009

Oracle收购Sun

除了Oracle和Sun的故事,SpringSource的一系列举动在Groovy社区表现得也很活跃:收购Groovy和Grails技术的 幕后公司G2One,收购系统管理软件厂商Hyperic,随后SpringSource又被VMWare收购,在虚拟市场取得立足点。

另外,Terracotta收购了Quartz和ehCache开源框架。

Java开发领域2011年度热点回顾与展望 http://tech.it168.com/a2011/1216/1289/000001289885_1.shtml

 

3:如果你想学一种新的编程语言,你对那个比较感兴趣,为什么?
4:你非常喜欢的web应用有哪些,为什么喜欢他们?
5:你喜欢UI开发吗?你自己是否写过web UI组件,如果是,请介绍一下这些组件并谈谈你的体会。
6:你觉得开发web应用最糟糕的事情和最好的情况分别是什么,你觉得使用web应用最糟糕的事情和最好的情况又分别是什么?
7:能谈谈你对html5的看法吗?
8:如果你有一年的时间做些事情,你打算做什么,为什么要这样做?
9:你能谈谈你最有话要说的你参与过的项目吗?
10:你参与过开源项目吗?如果有,请介绍一下这个项目并谈谈你的体会?
你认为你有什么优缺点?

Continue reading 我出的web,java面试题

Pagination


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1