from: http://www.plhwin.com/2014/06/13/web-security-sql/Web安全简史在Web1.0时代,人们更多是关注服务器端动态脚本语言的安全问题,比如将一个可执行脚本(俗称Webshell)通过脚本语言的漏洞上传到服务器上,从而获得服务器权限。在Web发展初期,随着动态脚本语言的发展和普及,以及早期工程师对安全问题认知不足导致很多”安全血案”的发生,至今仍然遗留下许多历史问题,比如PHP语言至今仍然无法从语言本身杜绝「文件包含漏洞」(参见这里),只能依靠工程师良好的代码规范和安全意识。伴随着Web2.0、社交网络、微博等一系列新型互联网产品的兴起,基于Web环境的互联网应用越来越广泛,Web攻击的手段也越来越多样,Web安全史上的一个重要里程碑是大约1999年发现的SQL注入攻击,之后的XSS,CSRF等攻击手段愈发强大,Web攻击的思路也从服务端转向了客户端,转向了浏览器和用户。在安全领域,一般用帽子的颜色来比喻黑客的善与恶,白帽子是指那些工作在反黑客领域的技术专家,这个群体是”善”的的象征;而黑帽子则是指那些利用黑客技术造成破坏甚至谋取私利造成犯罪的群体,他们是”恶”的代表。“白帽子”和”黑帽子”是两个完全对立的群体。对于黑帽子而言,他们只要找到系统的一个切入点就可以达到入侵破坏的目的,而白帽子必须将自己系统所有可能被突破的地方都设防,以保证系统的安全运行。这看起来好像是不公平的,但是安全世界里的规则就是这样,可能我们的网站1000处都布防的很好,考虑的很周到,但是只要有一个地方疏忽了,攻击者就会利用这个点进行突破,让我们另外的1000处努力白费。常见攻击方式一般说来,在Web安全领域,常见的攻击方式大概有以下几种:1、SQL注入攻击2、跨站脚本攻击 - XSS3、跨站伪造请求攻击 - CSRF4、文件上传漏洞攻击5、分布式拒绝服务攻击 - DDOS说个题外话,本来这篇文章一开始的标题叫做 「Web安全之常见攻击方法与防范」,我原本想把上面的这5种方法都全部写在一篇文章里,可是刚写完第一个SQL注入攻击的时候,就发现文章篇幅已经不短了,又很难再进行大幅度的精简,所以索性把Web安全分成一个系列,分多篇文章来呈现给大家,下面你看到的就是第一篇「Web安全之SQL注入攻击的技巧与防范」。SQL注入常见攻击技巧SQL注入攻击是Web安全史上的一个重要里程碑,它从1999年首次进入人们的视线,至今已经有十几年的历史了,虽然我们现在已经有了很全面的防范对策,但是它的威力仍然不容小觑,SQL注入攻击至今仍然是Web安全领域中的一个重要组成部分。以PHP+MySQL为例,让我们以一个Web网站中最基本的用户系统来做实例演示,看看SQL注入究竟是怎么发生的。1、创建一个名为demo的数据库:CREATE DATABASE `demo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;2、创建一个名为user的数据表,并插入1条演示数据:CREATE TABLE `demo`.`user` (`uid` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '用户uid',`username` VARCHAR( 20 ) NOT NULL COMMENT '用户名',`password` VARCHAR( 32 ) NOT NULL COMMENT '用户密码') ENGINE = INNODB;INSERT INTO `demo`.`user` (`uid`, `username`, `password`) VALUES ('1', 'plhwin', MD5('123456'));实例一通过传入username参数,在页面打印出这个会员的详细信息,编写 userinfo.php 程序代码:<?phpheader('Content-type:text/html; charset=UTF-8');$username = isset($_GET['username']) ? $_GET['username'] : '';$userinfo = array();if($username){ //使用mysqli驱动连接demo数据库 $mysqli = new mysqli("localhost", "root", "root", 'demo'); $sql = "SELECT uid,username FROM user WHERE username='{$username}'"; //mysqli multi_query 支持执行多条MySQL语句 $query = $mysqli->multi_query($sql); if($query){ do { $result = $mysqli->store_result(); while($row = $result->fetch_assoc()){ $userinfo[] = $row; } if(!$mysqli->more_results()){ break; } } while ($mysqli->next_result()); }}echo '<pre>',print_r($userinfo, 1),'</pre>';上面这个程序要实现的功能是根据浏览器传入的用户名参数,在页面上打印出这个用户的详细信息,程序写的这么复杂是因为我采用了mysqli的驱动,以便能使用到 `multi_query` 方法来支持同时执行多条SQL语句,这样能更好的说明SQL注入攻击的危害性。假设我们可以通过 http://localhost/test/userinfo.php?username=plhwin 这个URL来访问到具体某个会员的详情,正常情况下,如果浏览器里传入的username是合法的,那么SQL语句会执行:SELECT uid,username FROM user WHERE username='plhwin'但是,如果用户在浏览器里把传入的username参数变为 `plhwin';SHOW TABLES-- hack`,也就是当URL变为 `http://localhost/test/userinfo.php?username=plhwin';SHOW TABLES-- hack` 的时候,此时我们程序实际执行的SQL语句变成了:SELECT uid,username FROM user WHERE username='plhwin';SHOW TABLES-- hack'_注意:在MySQL中,最后连续的两个减号表示忽略此SQL减号后面的语句,我本机的MySQL版本号为5.6.12,目前几乎所有SQL注入实例都是直接采用两个减号结尾,但是实际测试,这个版本号的MySQL要求两个减号后面必须要有空格才能正常注入,而浏览器是会自动删除掉URL尾部空格的,所以我们的注入会在两个减号后面统一添加任意一个字符或单词,本篇文章的SQL注入实例统一以 `-- hack` 结尾。_经过上面的SQL注入后,原本想要执行查询会员详情的SQL语句,此时还额外执行了 SHOW TABLES; 语句,这显然不是开发者的本意,此时可以在浏览器里看到页面的输出:Array( [0] => Array ( [uid] => 1 [username] => plhwin )[1] => Array ( [Tables_in_demo] => user ))你能清晰的看到,除了会员的信息,数据库表的名字`user`也被打印在了页面上,如果作恶的黑客此时将参数换成 `plhwin';DROP TABLE user-- hack`,那将产生灾难性的严重结果,当你在浏览器中执行`http://localhost/test/userinfo.php?username=plhwin';DROP TABLE user-- hack` 这个URL后,你会发现整个 `user` 数据表都消失不见了。通过上面的例子,大家已经认识到SQL注入攻击的危害性,但是仍然会有人心存疑问,MySQL默认驱动的mysql_query方法现在已经不支持多条语句同时执行了,大部分开发者怎么可能像上面的演示程序那样又麻烦又不安全。是的,在PHP程序中,MySQL是不允许在一个mysql_query中使用分号执行多SQL语句的,这使得很多开发者都认为MySQL本身就不允许多语句执行了,但实际上MySQL早在4.1版本就允许多语句执行,通过PHP的源代码,我们发现其实只是PHP语言自身限制了这种用法,具体情况大家可以看看这篇文章「PHP+MySQL多语句执行」。实例二如果系统不允许同时执行多条SQL语句,那么SQL注入攻击是不是就不再这么可怕呢?答案是否定的,我们仍然以上面的user数据表,用Web网站中常用的会员登录系统来做另外一个场景实例,编写程序login.php,代码如下:<?phpif($_POST){…
近期许多网民发现在使用360浏览器访问网站时会出现链接跳转失灵或者刚刚填写好的表单却被清空的现象。技术监测显示这是因为360浏览器在升级后随机篡改HTTP Referer,干扰用户浏览网站的访问序列,导致网站为用户提供的服务中断,带来不便。什么是HTTP Referer?简而言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些公开信息用于响应访问需求。Referer被篡改固然导致不便,但更需要大家警惕的是360此举即意味着将所有网银用户暴露在CSRF攻击(Cross-site request forgery跨站请求伪造)面前。举个例子。当你在360buy完成购物按下付款按钮,你需要登录到网银,通过对银行网站发送一个请求来完成转账。这时候,如果有黑客瞄上了你,使用CSRF的攻击方式,而你又恰巧刚进行过转账操作不久,浏览器与银行网站之间的会话还没有过期,那悲剧就很可能会发生,黑客将轻松的把你账户里的钱据为己有。当前防御CSRF攻击最方便的方法就是验证Referer值。让我们回到上面说的那个例子来:银行对转账请求验证Referer值,当发现Referer值不是来自银行自己的网站时,将会拒绝转账的请求,以保证账户的安全。说到这里,聪明的你是不是隐约觉得有些不对头了?是的。如果Referer值被伪装成银行网站的话,那转账请求就会被通过,你账户里的钱就会变成黑客的囊中之物。因为Referer值是由浏览器提供的,使用验证 Referer 值的方法防御CSRF攻击,其实就是把安全性都依赖于浏览器来保障。当你使用的浏览器,Referer值能被随意更改,你对自己钱包的归属还那么有信心吗?与HTTP Referer一同被360搞得“不明不白”的还有User-Agent。所谓User-Agent,简单的说就是客户端浏览器等应用程序使用的一种特殊的网络协议,在每次浏览器进行HTTP请求时发送到服务器,服务器就知道了用户是使用什么浏览器来访问。若想知道当前浏览器的User Agent信息,大家可以在地址栏直接输入 javascript:alert(navigator.userAgent); 回车即可看到。目前360浏览器会频繁更改自身的User Agent,伪装成苹果safari或微软IE。此举不仅导致网站不能正确识别用户,而且还使得许多网站的页面因为对浏览器识别错误而呈现错乱。正常显示的360浏览器UA信息有“360SE”字样不定期伪装成IE9或者Safari的360浏览器360在用户正常使用浏览器时将这些参数不经许可就更来改去,甚至移花接木,包藏什么祸心我们不得而知。但数字公司视用户为禁脔的行径无疑正愈演愈烈,不仅是记录访问数据窥私窃密,而且意图“绑架”用户为肉鸡。为了自己的安全,我们是时候做出选择了!刚才忘记添加原文网址了原文网址:http://bbs.shendu.com/thread-2218175-1-1.html
文件名: cn_visio_professional_2013_x64_1138440.exe语言: Chinese - SimplifiedSHA1:10823adaf26ff3ed07bf6171f9f9e799b409a6fchttp://pan.baidu.com/share/link?shareid=115654&uk=1006662537
终于不用为给css取名而烦恼了,感谢Vivien Chen的整理. about 关于 account 账户 action 操作 ad,advertisment 广告 arrow 箭头图标 article 文章 aside 边栏 audio 音频 avatar 头像 background 背景 banner 条幅,广告 bar 条 branding 品牌化 breadcrumbs 面包屑 button 按钮 caption 标题,说明 category 分类 chart 图表 clearfix 清除浮动 close 关闭 column 列 comment 评论 community 社区 container 容器 content 内容 copyright 版权 current 当前态,选中态 default 默认 description 描述 details 细节 disabled 不可用 entry 文章,博文 error 错误 even 偶数,常用于多行列表或表格中 fail 失败(提示) feature 专题 fewer 收起 field 用于表单的输入区域 figure 图 filter 筛选 first 第一个,常用于列表中 footer 页脚 forum 论坛 gallery 画廊 group 模块,清除浮动 header 页头 help 帮助 hide 隐藏 hightlight 高亮 home 主页 icon 图标 information 信息 last 最后一个,常用于列表中 links 链接 login 登录 logout 退出 logo 标志 main 主体 menu 菜单 meta 作者、更新时间等信息栏,一般位于标题之下 module 模块 more 更多(展开) msg,message 消息 nav,navigation 导航 next 下一页 nub 小块 odd 奇数,常用于多行列表或表格中 off 鼠标离开 on 鼠标移过 output 输出 pagination 分页 popup 弹窗 preview 预览 previous 上一页…
上次推荐在《强势推荐ANT小蚂蚁》中提到使用ant可以完成同步svn代码、编译代码、打包代码、上传、部署的功能。这次再次将ant的功能提升一下,加入hudson持续集成引擎,将我们的程序化的工作更加的自动化完成。 Hudson 是一个可扩展的持续集成引擎,更多的信息可以下面网址。http://www.oschina.net/p/hudsonhttp://hudson-ci.org/ 配置使用步骤基本界面 我使用的Hudson的版本是2.2.1,已经有3.0.0RC的版本出来了,我求稳定,还是使用2.2.1,下载下来是个war,直接扔到tomcat下面就可以了。界面有中文,不过还没有实现全部的I18N,还有部分的英文,基本都认识的,不用担心。 基本界面如上,可以看到我有成功,也有失败的记录,我们的劳动总算是有记录了。建立构建工程 选择新建任务 我这里选择_自由风格_,根据项目实际情况选择。配置ant和任务调度 在任务配置界面中,因为我在ant脚本中已经写好了svn的信息,所以在这里就不配置版本管理了,只配置ant和任务调度两个。 在ant的配置中,只要你把ant脚本文件build.xml放在_C:.hudsonjobsTEST_下面,hudson就可以执行ant脚本了,当前在target中要配置了,在target中每行可以写一个执行的目标。 在_Build Triggers_中,我选择_Build periodically_,表示定时执行,需要写调度表达式。> ##### 调度表达式资料:Schedule的配置规则是有5个空格隔开的字符组成,从左到右分别代表:分 时 天 月 年,*代表所有。 例如:0 9 * * * 表示在任何年任何月的任何天的9点的0分4. 构建工程 可以可以选择_立刻构建_或者等定时任务就可以开始构建工程了,在Hudson可以查看执行的日志和最后的结果。看到_BUILD SUCCESSFUL_就说明,你成功了,恭喜!Hudson下载地址
使用mysql时,发生的错误 Table is marked as crashed and should be repaired。解决办法:用“REPAIR TABLE tablename;”命令修复。简单好用!还有其他办法,就不多说了。原因:有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说 法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能 导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。来一曲古风版的最炫民族风,民族乐器演奏出来果然不一般啊!
mysql默认是关闭InnoDB存储引擎的使用的,将InnoDB设置为默认的引擎如下。 1. 查看mysql存储引擎情况: mysql>show engines。 InnoDB | YES,说明此mysql数据库服务器支持InnoDB引擎。 2. 设置InnoDB为默认引擎:在配置文件my.ini中的 [mysqld] 下面加入default-storage-engine=INNODB 3. 重启mysql服务器 4. 登录mysql数据库,mysql>show engines。如果出现 InnoDB |DEFAULT,则表示设置InnoDB为默认引擎成功。听一曲歌来听听,挺喜欢的歌手万晓利的。走过来,走过去!
密码问题现在紧急问题,当CSDN的密码被曝光以后,数据文件里面我也很容易的找到了我的密码。选择一个安全策略很重要!转一篇很有指导的文章。个人密码安全策略 我们现在处于网络时代,时常要登录各种网站、论坛、邮箱、网上银行等等,这些访问常需要帐户+密码的身份认证,因此我们不断地注册用户,就有了数不清的网络帐户和密码。大多数人为了便于记忆,习惯只用一个常用的网络用户名、邮箱和密码,这是非常危险的。那么,网上的密码我们应该怎么设置,才能相对安全一些呢? 总的来说,个人密码安全需要遵循如下几个简单的要求:对于不同的网络系统使用不同的密码,对于重要的系统使用更为安全的密码。绝对不要所有系统使用同一个密码。对于那些偶尔登录的论坛,可以设置简单的密码;对于重要的信息、电子邮件、网上银行之类,必需设置为复杂的密码。永远也不要把论坛、电子邮箱和银行账户设置成同一个密码。具体的设置策略如下:一、将自己常用的网站分类:大网站、小网站、重要网站、普通网站1、大网站 大网站为可以信任的、安全的网站,例如用户为数亿的几个门户网站(腾讯、谷歌等),这类网站理论上安全性较好,常规情况下用户密码不易泄漏,并且都会提供绑定手机号功能,这类网站应该不超过十个。2、小网站 大网站之外的网站都算小网站,是不可信任的网站,在上面保存的密码随时可能泄漏,并且可能是密码明文泄漏。3、重要网站 涉及到网络使用的核心网站,例如主要的电子邮件、网银、网上支付、域名管理等,这类网站如果被黑客攻破,则会引起个人资产损失或者相关其他网站服务被攻击,损失巨大。4、普通网站 重要网站之外的网站。二、将自己的常用密码分类:弱密码、中密码、强密码1、弱密码 最容易记忆的,且默认是可以丢失的密码。 各类中小网站、论坛、社区、个人网站等使用。 原因:这些网站的安全性可能都不太好,有些只是将密码MD5一下存储,有些可能还会明文存储密码。黑客很容易从这些网站盗窃用户的密码。2、中密码 中等强度密码,8个字符以上,有一定抗穷举能力的。 中等密码主要在国内门户网站、大型网站、门户微博、社交网站等使用,但不要在主要邮箱里使用。门户网站最好绑定手机号码。 原因:大网站的安全性较好,通常被破解的可能性低,在大网站使用的密码要强度可以稍强。 需要注意的是,有些门户网站(例如新浪、搜狐等)即提供微博,又提供邮件系统,如果系统默认建立了这些邮箱,那建议不要在任何地方使用这些邮箱,如果要使用邮箱,最好确认该邮箱具有独立密码功能。 其中有一个例外是腾讯邮箱,腾讯邮箱支持邮箱的单独密码,设置好了以后,用户需要输入QQ密码和邮箱密码两个之后才能使用。 所有游戏帐号使用单独的密码。3、强密码 强密码要求至少8个字符以上,不包含用户名、真实姓名或公司名称,不包含完整的单词,包含字母、数字、特殊符号在内。 强密码主要用于邮箱、网银、支付系统等。 这类网站是最核心最重要的网站,网银涉及到用户的财产安全,邮箱则可以重置用户所有注册过的网站密码,因此这类网站一定要用强密码,保证其绝对安全性。 密码穷举对于简单的长度较少的密码非常有效,但是如果网络用户把密码设的较长一些而且没有明显规律特征(如用一些特殊字符和数字字母组合),那么穷举破解工具的破解过程就变得非常困难,破解者往往会对长时间的穷举失去耐性。通常认为,密码长度应该大于8位,密码中最好包含字母数字和符号,不要使用纯数字的密码,不要使用常用英文单词的组合,不要使用自己的姓名做密码,不要使用生日做密码。三、电子邮件使用规范1、邮箱类型 个人邮箱并非越多越好,只要两个个人邮箱即可(工作邮箱除外),关闭那些没用的邮箱,或者清除其内的所有内容,不在任何地方使用这个邮箱。 邮箱分为两个类型,主要邮箱和次要邮箱,重要服务用主要邮箱来申请,一般服务用次要邮箱来申请。 主要邮箱建议使用Gmail建立,绑定用户的手机,并设置二步验证的手机动态密码,目前世界上只有Gmail信箱支持手机动态密码,增加手机动态密码之后,黑客即使重置了用户的Gmail密码,依旧无法登录该帐号,除非用户手机同时也被盗。有了动态密码,一旦用户信箱被攻击,用户有足够的时间通过手机修复密码。 Gmail的辅助邮箱可以不使用,或者用一个可以,辅助邮箱的安全性一定要高,不容易被攻破。 对于Gmail的访问还有一点,就是不要用Hosts来访问Gmail,不要把www.google.com放入到Hosts文件中,否则将对Gmail的安全性产生极大的威胁。2、动态密码设置 对于经常受到攻击的Gmail用户,强烈推荐使用Gmail的“两步验证”功能,具体方法是,先登录Gmail,然后访问这个地址,之后根据提示安装一个iPhone或Android应用,即可实现动态口令,极大增强了Gmail的安全性。 Gmail的“两步验证”支持iPhone和Android手机,实际上属于动态密码的一种类型。动态密码(Dynamic Password)也称一次性密码,它指用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次。由于每次使用的密码必须由动态令牌来产生,而用户每次使用的密码都不相同,因此黑客很难计算出下一次出现的动态密码。不过动态密码对手机要求较高,需要iPhone或Android这样的智能手机。 除了Gmail邮箱之外,腾讯QQ邮箱也是国内使用较为广泛的邮箱,使用腾讯QQ邮箱时需要注意,一定要设置双密码(邮箱单独密码),如有需要则打开腾讯的QQ手机令牌,QQ手机令牌是腾讯公司的一款QQ安全软件,通过验证30秒动态密码来保护QQ帐号、Q币Q点和游戏装备等,不过目前QQ邮箱还不支持手机令牌方式登录。 很多人觉得动态密码不方便,不愿意使用,这是不对的。方便性固然是好的,安全性是更重要的,重视用户密码的管理,虽然增加了一点点不便,但是你可能将会因此避免极大损失。3、邮箱密码 邮箱的密码绝对不要和其他任何网站的密码相同,要使用8位以上的强密码。 邮箱是密码管理中的核心和关键,通过邮件重置密码功能,可以获得用户大部分网站的密码,因此一旦邮箱密码被黑,会导致用户全部密码体系失控,Gmail动态密码虽然看起来麻烦一些,其实也并非每次都输入,在单台电脑可以三十天再输入一次。QQ的手机令牌也可以设置各种方法来减少输入动态密码的次数。 在邮箱使用过程中要注意,使用主要信箱和次要邮箱注册不同的网站,重要服务用主要邮箱来申请,一般服务用次要邮箱来申请。大网站用复杂的密码,小网站和论坛使用简单的密码。如果注册的网站被盗,需要尽快通过电子邮件进行重置密码。 对于那些小网站,在里面设置密码只能当没有,因为我们不知道这些网站是怎么保存密码的,其网站也随时可能被黑,因此只能保证注册邮件不被黑,可以用其重置密码。4、“找回密码”设置 “找回密码”是一个关键的邮箱安全设置,很多黑客破解邮箱是通过“找回密码”进行破解的,因此如何设置“找回密码”的安全问题是一个很重要的环节。 什么是“找回密码”中不安全的问题,主要有“你的生日?”(你会在其他社交网站录入自己的生日);“你的姓名?”(熟悉你的人都知道你的姓名);“你的出生地?”(通过身份证号码可以算出你的出生地);“你的手机号码?”(太多的地方容易泄漏你的手机号码);等等。 这样,通过一些毫无技术含量的操作,别人就很可能重置你的邮箱密码。 所以,“找回密码”应该设置为一个只有你自己知道答案的问题,自己不会轻易告诉他人,别人通过正常方法很难知道,例如“你中学时候暗恋的人叫什么”、“你初三时的同桌叫什么”、“你小学时最好的朋友叫什么”、“你第一个初恋情人叫什么”等等,这些问题通常别人很难猜到。 归纳:1、核心邮箱可选用Gmail,启用其两步认证,因此密码被盗黑客也进不去,除非手机同时也被盗。2、用这个信箱注册其他网站,用不同的密码,大网站用复杂的密码,小网站和论坛使用简单的密码。3、邮箱使用单独的复杂密码,不要和其他网站密码相同。四、网银使用规范 尽量少开通网上银行,如有必要,则开通那些口碑较好,较少发生过安全事故的网银,例如招商银行的网银。开通网银后使用数字证书,最好申请USB Key,USB Key使用了双钥加密,私钥安全地保存在Key中,在网络应用的环境下,可以更安全,弥补了动态密码锁单钥加密的一些缺陷。由于用户私钥保存在USB Key密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。除非黑客获取到用户USB Key的物理硬件,否则很难攻破用户的网银。 银行取款密码不要和任何其他密码相同。网上银行密码不要和取款密码相同,也不和其他网站密码相同。 对于支付宝来说,一定要安装数字证书,支付密码和登录密码不要一样,把支付宝帐户认定为实名,同时开通手机、邮箱绑定,如果还想更安全一点再申请个支付盾。 归纳:少开通网上银行,网银申请USB Key配合使用。支付密码和登录密码不同。银行、网银、主要电子邮件的密码安全最为重要,需要重点保护。网银使用单独的复杂密码,不要和邮箱及其他网站相同。五、总结 密码是个人网络信息安全的钥匙。在网络非常发达的今天,网上木马病毒横行,我们应该好好设计一下密码安全,才能保障网上银行安全、网上信息安全、网上交易安全,遵循上面介绍的个人密码安全策略,可以较为有效地提高用户个人密码的安全性,防止自己的个人信息遭受威胁和攻击。原文网址:http://www.williamlong.info/archives/2937.html