• 2004年10月23日网站安全感 - [网络事]

    从来没有什么时候网络上出现这么大的混乱,据天极网的消息,近日国内的腾讯QQ、神州数码、江民公司、某门户网站、XXX游戏娱乐有限公司、一家著名电子商务网站陆续被黑客攻陷或入侵。其中一些被黑网站还受到了黑客的巨额敲诈勒索,这是国内首起网络黑客勒索事件,且组织严密、技术高超、规模巨大。从17日早上10时许,国内各地网民陆续发现自己的QQ出了问题,据说也受到国内一黑客团体勒索。而且国内几家黑客组织互相打起了混战。以前只听说过中美黑客大战,及黑客对日本,台湾一些网站的袭击,很少有国内商业站受袭的消息,这次却来得这么大和有组织,而且袭击的都是一些国内有名的网站,就不得不令人担心起国内的网络安全了,更让人后怕的是像腾讯和江民这样的公司也受到攻击,可以想象的是现在国内的网站只要哪个被黑客高手盯上,基本上都是可以被“攻陷”的,只是以前印象中觉得中国黑客一向比较民族主义,只会攻击国外网站,这次的大规模事件才会显得意外,让人关注起网络安全。但是在现实中,遇到有抢劫勒索的我们会找警察,但是在网络上遇到这样的事,会想到去找警察吗?印象中网警只是在做一些检测非法信息的工作,警察中有真正网络安全的高手嘛?对于黑客防范,有钱的大公司可以请一堆网络安全高手,小网站也就只有听天由命喽。这次袭击中令专注惊讶的是居然提供网络安全服务的江民公司也被攻陷了,令人安慰的是袭击的黑客不久即被江民公司技术员锁定区域,迫于思想压力投案自首。但相信这一切只是个开始,以后这样的事仍将会在网络上发生,我们又多么需要一个有安全感的网络,对于网民,对于网站,都是如此。
  • 2004年10月10日GMAIL签名图 - [网络事]

    看到BLOG上那个GMAIL邮箱的签名图吗?
    其实制作起来非常的简单,在http://www.nhacks.com/email/index.php这个网址就可以快速批量的生产出来,同时还可以生产HOTMAIL和YAHOO后缀的邮箱,喜欢的朋友可以去那里DIY几个,然后放在BLOG上是个不错的选择。

  • 2004年09月17日转载一篇CSS教程 - [网络事]

      准备使用CSS+DIV重写GOODMOODHB,完全使用CSS规划页面。正好在Blueidea见到了这篇文章,遂收下。作者是Bleidea论坛的深圳飞鹰。原文如下:

      下面是我写的第一篇CSS教程,有位兄弟想要的
      1、在页面中实现精确定位置
      怎么样在页面中实现精确定位呢?这可能是CSS一个很大的作用。如下代码可实现这个功能:
      <div style="position:absolute;top:150px;width:200px;height:200px;background-color:red">
      写入相应内容</div>
      上面的代码解释为:
      position:absolute 表示位置是absolute(绝对),还有一个是relative(相对)
      top:150px 表示内容显示在离顶部150px的地方,还有是left:150px 表示内容显示在离左边150px的地方
      width:200px;height:200px; 表示内容能显示的区域大小
      background-color:red 表示整个区域是红色的
      2,加入特殊效果
      CSS定位的剪切(clip)、溢出(voerflow)和可见性(visibility)的属性使WEB设计者很容易地为页面加入特殊效果。
      在下面的例子中,建立了一个<span>元素调用隐藏类。在浏览器里是看不到这个文本的,但是可以注意到下面的一行字为它在屏幕上留了一个空间。下一个元素调用了溢出类。"容器"比文本要小,所以这里多余文本被切除了。最后的两个元素演示了裁剪属性。最后的对象直接被褥放置在它前一个之上,但是被裁剪成一个小一点的尺寸;因此,前一个元素显示出来了
      <html><head>
      <style type="text/css">
      <!--
      .hidden {position:relative;visibility:hidden}
      .overflow {position:absolute;top:210px;left:60px;width:40px;height:40px;background-color:yellow;overflow:hidden}
      .plain {position:absolute;top:200px;left:200px;width:150px;height:150px;background-color:#eeeeee;}
      .clip {position:absolute;top:200px;left:200px;width:150px;height:150px;background-color:blue;clip:rect(25px 125px 125px 25px);}
      -->
      </style>
      </head>
      <body>
      <span class="hidden">
      This text is invisible on the page</span>but this text is affected by the invisible item's flow
      <div class="overflow">This is way too much text for the little box that we have designated.The overflow property will hide it.</div>
      <div class="plain">This text is covered by the blue square that follows.But since the square is clipped,some of this text shows through.</div>
      <div class="clip">This text is yellow on a blue square,but it is getting cut off by clipping</div>
      </body></html>
      3,颜色和背景属性
      body {background-color:yellow}
      h1 {background-color:red}
      上面的语句指整个页面的背景色为黄色,h1中的背景色为红色
      body {background-image:url(back.jpg)}
      P {background-image:none}
      上面的语句指页面的背景图片是back.jpg,P中没有背景图片,当然你也可以加入背景图片
      body {background:red url(back.jpg);background-repeat:repeat-y} (效果演示)
      上面的语句指页面为红色(如果没有背景图片时),而且背景图片垂直排列。
      注意:repeat-x指水平排列,repeat-y指垂直排列,no-repeat指不重复。
      body {background:red url(back.jpg);background-repeat:repeat-y;background-attachment:scroll}
      注意:background-attachment:fixed 表示背景图片永远静止,文字在背景上面"流动"
      background-attachment:scroll 表示背景图片随着页面上的文字一起"流动"
      body {background:url(back.jpg) right top} /*right top=100% 0% */
      body {background:url(back.jpg) top center} /*top center=50% 0% */
      body {background:url(back.jpg) center} /*center=50% 50% 指背景图片居中*/
      body {background:url(back.jpg) bottom} /* bottom=50% 100% */
      4,图片位置放置
      当文字和图片在同一行内出现时,可用如下方式调整文字的方位
      文字在图片下方 img {vertical-align:baseline}
      文字在图片中间 img {vertical-align:middle}
      文字在图片上方 img {vertical-align:text-top}
      5,图片边框的颜色
      img {border-color:red} 指四个边框色都是红色
      img {border-color:red blue} 指上,下边框是红色,左右边框是蓝色
      img {border-color:red blue yellow} 指上边框是红色,左右边框是蓝色,下边框是黄色
      img {border-color:red blue yellow green} 指上,右,下,左边框分别是红色,蓝色,黄色和绿色
      border-style属性
      h1 {border-style:solid} 指边框为实线,none指没有边框,边框不显示,dotted指边框的样式为由短线组成的虚线,double指边框线为双线,双线再加上它们之间的空白部分的宽度就等于border-width设置的宽度,groove指3D沟槽状的边框,inset指3D内嵌边框,outset指3D外嵌边框
      h1 {border-style:solid} 指四个边框都是实线
      h1 {border-style:solid dotted} 指下,左边框值缺少,则取对边上,右值
      h1 {border-style:solid dotted double} 指左边框缺少,则取右侧的边框值
      h1 {border-style:solid dotted double ridge} 指四个边框都有值,按上,右,下,左分
      再看这句话:
      <img id=sample src=lu.gif border=9 style="filter:blur(strength=50) flipv()">
      上面这句话表示这幅图片使用指定的像素值50设置模糊效果,并且图片垂直翻转
      6,字符上下颜色
      你有没有见过在字符的上面或下面有相应的边框,还有色彩,用border-top就可以实现
      h1 {border-top:thick ridge blue} 指元素顶端边框的样式是蓝色的脊关边框线
      相应的还有border-left,border-right,border-bottom

  • 2004年09月16日样式表优化 - [网络事]

    一个在线的CSS样式表优化工具
    地址:http://flumpcakes.co.uk/css/opt/
  • 2004年09月14日52BLOG网站重构 - [网络事]

    最近开始使用WEB标准,今天抽时间把52BLOG首页用CSS+DIV手写了一遍,网页大小由13K缩小到7K,相信对提升速度很有帮助,然后按照W3C的标准进行测试,发现还是有60多个不符合标准之处,不过都跟JS调用代码有关,相比优化之前的几百个标准不符已有大大改进。但是在标准化的过程中,还是遇到一些问题需要解决,毕竟从TABLE到CSS的路程不是那么平坦的,需要时间来慢慢适应。然后到经典的坛子去,发现国内设计界对标准化的讨论已经热火朝天,看来网站标准化设计的春天真的就要来了!

    附:怎么改善现有网站,通过W3C。

      我们大部分的设计师依旧在采用传统的表格布局、表现与结构混杂在一起的方式来建立网站。学习使用XHTML+CSS的方法需要一个过程,使现有网站符合网站标准也不可能一步到位。最好的方法是循序渐进,分阶段来逐步达到完全符合网站标准的目标。如果你是新手,或者对代码不是很熟悉,也可以采用遵循标准的编辑工具,例如Dreamweaver MX 2004,它是目前支持CSS标准最完善的工具。

      1.初级改善
      为页面添加正确的DOCTYPE
      很多设计师和开发者都不知道什么是DOCTYPE,DOCTYPE有什么用。DOCTYPE是document type的简写。主要用来说明你用的XHTML或者HTML是什么版本。浏览器根据你DOCTYPE定义的DTD(文档类型定义)来解释页面代码。所以,如果你不注意设置了错误的DOCTYPE,结果会让你大吃一惊。XHTML1.0提供了三种DOCTYPE可选择:

      (1)过渡型(Transitional )

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      (2)严格型(Strict )

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      (3)框架型(Frameset )

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
      对于我们初级改善来说,只要选用过渡型的声明就可以了。它依然可以兼容你的表格布局、表现标识等,不至于让你觉得变化太大,难以掌握。

      Tip:你懒得输入上面过渡型代码的话,可以访问http://www.macromedia.com/网站的首页,然后查看源代码,把head区同样的代码拷贝粘贴就可以了。

      设定一个名字空间(Namespace)
      直接在DOCTYPE声明后面添加如下代码:

      <html XMLns="http://www.w3.org/1999/xhtml" >
      一个namespace是收集元素类型和属性名字的一个详细的DTD,namespace声明允许你通过一个在线地址指向来识别你的namespace。只要照样输入代码就可以。

      声明你的编码语言
      为了被浏览器正确解释和通过标识校验,所有的XHTML文档都必须声明它们所使用的编码语言。代码如下:

      <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
      这里声明的编码语言是简体中文GB2312,你如果需要制作繁体内容,可以定义为BIG5。

      用小写字母书写所有的标签
      XML对大小写是敏感的,所以,XHTML也是大小写有区别的。所有的XHTML元素和属性的名字都必须使用小写。否则你的文档将被W3C校验认为是无效的。例如下面的代码是不正确的:

      <TITLE>公司简介</TITLE>
      正确的写法是:

      <title>公司简介</title> 同样的,<P>改成<p>,<B>改成<b>等等。这步转换很简单。
      为图片添加 alt 属性
      为所有图片添加alt属性。alt属性指定了当图片不能显示的时候就显示供替换文本,这样做对正常用户可有可无,但对纯文本浏览器和使用屏幕阅读机的用户来说是至关重要的。只有添加了alt属性,代码才会被W3C正确性校验通过。注意的是我们要添加有意义的alt属性,象下面这样的写法毫无意义:

      <img src="logo_unc_120x30.gif" alt="logo_unc_120x30.gif">
      正确的写法:

      <img src="logo_unc_120x30.gif" alt="UNC公司标志,点击返回首页">
      给所有属性值加引号
      在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。

      例:height="100",而不能是height=100。

      关闭所有的标签
      在XHTML中,每一个打开的标签都必须关闭。就象这样:

      <p>每一个打开的标签都必须关闭。</p> <b>HTML可以接受不关闭的标,XHTML就不可以。</b>
      这个规则可以避免HTML的混乱和麻烦。举例来说:如果你不关闭图像标签,在一些浏览器中就可能出现CSS显示问题。用这种方法能确保页面和你设计的一样显示。需要说明的是:空标签也要关闭,在标签尾部使用一个正斜杠"/"来关闭它们自己。例如:

      <br /> <img src="webstandards.gif" />
      经过上述七个规则处理后,页面就基本符合XHTML1.0的要求。但我们还需要校验一下是否真的符合标准了。我们可以利用W3C提供免费校验服务(http://validator.w3.org/)。发现错误后逐个修改。在后面的资源列表中我们也提供了其他校验服务和对校验进行指导的网址,可以作为W3C校验的补充。当最后通过了XHTML验证,恭喜你已经向网站标准迈出了一大步。不是想象中的那么难吧!

      2.中级改善
      接下来我们的改善主要在结构和表现相分离上,这一步不象第一步那么容易实现,我们需要观念上的转变,以及对CSS2技术的学习和运用。但学习任何新知识都需要花点时间的,不是吗?诀窍在于边做边学。假如你一直采用表格布局,根本没用过 CSS,也不必急于跟表格布局说再见,你可以先用样式表代替 font 标签。随着你学到的越多,你能做的就越多。好,一起来看看我们需要做哪些事:

      用CSS定义元素外观
      我们在写标识时已经养成习惯,当希望字体大点就用<h1>,希望在前面加个点符号就用<li>。我们总是想<h1>的意思是大的,<li>的意思是圆点,<b>的意思是“加粗文本”。而实际上, <h1>能变成你想要的任何样子,通过CSS,<h1>能变成小的字体,<p>文本能够变成巨大的、粗体的,<li>能够变成一张图片等等。我们不能强迫用结构元素实现表现效果,我们应该使用CSS来确定那些元素的外观。例如,我们可以使原来默认的6级标题可以看起来大小一样:

      h1, h2, h3, h4, h5, h6{ font-family: 宋体, serif; font-size: 12px; }
      用结构化元素代替无意义的垃圾
      许多人可能从来都不知道HTML和XHTML元素设计本意是用来表达结构的。我们很多人已经习惯用元素来控制表现,而不是结构。例如,一段列表内容可能会使用下面这样的标识:

      句子一<br /> 句子二<br /> 句子三<br />
      如果我们采用一个无序列表代替会更好:

      <ul> <li>句子一</li> <li>句子二</li> <li>句子三</li> </ul>
      你或许会说“但是<li>显示的是一个圆点,我不想用圆点”。事实上,CSS没有设定元素看起来是什么样子,你完全可以用CSS关掉圆点。

      给每个表格和表单加上id
      给表格或表单赋予一个唯一的、结构的标记,例如

      <table id="menu">
      接下来,在书写样式表的时候,你就可以创建一个“menu”的选择器,并且关联一个CSS规则,用来告诉表格单元、文本标签和所有其他元素怎么去显示。这样,不需要对每个<td>标签附带一些多余的、占用带宽的表现层的高、宽、对齐和背景颜色等等属性。只需要一个附着的标记(标记“menu”的id标记),你就可以在一个分离的样式表内为干净的、紧凑的代码标记进行特别的表现层处理。

      中级改善我们这里先列主要的三点,但其中包含的内容和知识点非常多,需要我们逐步学习和掌握,直到最后实现完全采用CSS而不才用任何表格实现布局。