未来往事
少对别人提要求,多从自己找问题。 [2017年 第30周/共52周]

CDN(内容分发网络)架构 技术原理

概述
Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰。解决方案就是在网络传输上利用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和品质保证。

......
+阅读全文

Linux环境下php不能生成临时session文件

......
+阅读全文

IIS错误:HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝

错误描述:
IIS错误代码说明:HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。  

原因分析:
关闭了匿名身份验证

解决方案:  
运行inetmgr,打开站点属性->目录安全性->身份验证和访问控制->选中“启用匿名访问”,输入用户名,或者点击“浏览”选择合法的用户,并两次输入密码后确定。

更多关于IIS错误相关的知识,请点击这里>>
......
+阅读全文

IIS错误:HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝

错误描述:
IIS错误代码说明:HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。  

原因分析:
由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。  
解决方案:  
(1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:  
控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。如果还没有解决,请继续下一步。&n......
+阅读全文

IIS错误:HTTP 错误 401.3 - 未经授权.访问由于 ACL 对所请求资源的设置被拒绝

在配置IIS的时候,如果安全稍微做的好一些。就会出现各式各样的问题。比如,常见的访问网页会弹出用户名密码的登陆界面,或者是访问某种页面比如html,asp没事情,但是访问jsp或者php就有问题,显示401.3 ACL 禁止访问资源等。

错误描述:
今天在帮一客户搞IIS+PHP+MySQL环境时遇到以下错误:
IIS错误代码说明:HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。您无权使用您提供的凭据查看此目录或页面。现在就......
+阅读全文

Web开发中需要了解的东西

在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需要知道的?)里面给出的答案非常不错,所以,我翻译转载过来。 顺便说一下,StackExchange真是非常好,大家可以对同一个答案做贡献和修订,看看这个问题的修订过程你就知道了——专业的问答网站应该怎么去做。这就是我在这篇文章中也说过真正的用户体验是什么样的。
好了,下面是正文(我对原文做了一些批注,也许不对或有误导,请大家指正)
下面的这些东西可能对于大多数人并不陌生,但是可能会有些东西你以前并没有看过,或是没有完全搞懂,甚至都没有听说过。(陈皓注:我相信当你看完这个列表后,你会觉得对于我国的Web开发有点弱了,还是那句话,表面上的东西永远是肤浅的)
接口和用户体验
•  小心浏览器的实现标准上的不一致,确信让你的网站能够适当地跨浏览器。至少,你的网站需要测试一下下面的浏览器:
o  最新的 Gecko 引擎 (Firefox),
o  一个 Webkit 引擎 (Safari, Chrome, 或是其它的移动设备上的浏览器)
o   IE 浏览器 (测试IE的兼容性你可以使用微软IE的 Application Compatibility VPC Images)
o   Opera 浏览器。
最后,你可以使用一下这个工具 来看看你的网页在不同的浏览器下是怎么被显示出来的(陈皓注:这个工具就是以前本站介绍过的在不同浏览器和平台上检查你的网站的兼容性)
•  多考虑一下人们是怎么来访问你的网站而不是那些主流的浏览器:手机,读屏软件和搜索引擎,例如:一些Accessibility的东西: WAI 和  Section508, 移动设备开发:MobiForge.
•  部署Staging:怎么部署网站的更新而不会影响用户的访问。 Ed Lucas的答案 可以让你了解一些(陈皓注:Ed说了一些如版本控制,自动化build,备份,回滚等机制)。
•  千万不要直接给用户显示不友好的错误信息。
•  千万不要把用户的邮件地址以明文显示出来,这样会被爬虫爬走并被让用户的邮箱被垃圾邮件搞死。
•  为用户的链接加上 rel="nofollow" 的属性以 避免垃圾网站的干扰。(陈皓注:nofollow是HTML的一个属性,用于通知搜索引擎“这个链接所指向的网页非我所能控制,对其内容不予置评”,或者简单地说,该链接不是对目标网站或网页的“投票”,这样搜索引擎不会再访问这个链接。这个是用来减少一些特定垃圾页面对原网站的影响,从而可以改善搜索结果的质量,并且防止垃圾链接的蔓延。)
•  为网站建立一些的限制 - 这个属于安全性的范畴。(陈皓注:比如你在Google注册邮箱时,你一口气注册超过两个以上的邮箱,gmail要求给你发短信或是给你打电话认证,比如Discuz论坛的会限制你发贴或是搜索的间隔时间等等,更多的网站会用CAPTCHA来确认是人为的操作。 这些限制都是为了防止垃圾和恶意攻击)
•  学习如何做 Progressive Enhancement. (陈皓注:Progressive Enhancement是一个Web Design的理念,如:1)基础的内容和功能应该可以被所有的浏览器存取,2)页面布局的应该使用外部的CSS链接,3)Javascript也应该是外部链接还应该是 unobtrusive 的,4)应该让用户可以设置他们的偏好)
•  如果POST成功,要在POST方法后重定向网址,这样可以阻止用户通过刷新页面重复提交。
•  严重关注Accessibility。因为这是法律上的需求(陈皓注:Section 508是美国的508法案,其是美国劳工复健法的改进,它是一部联邦法律,这个法律要求所有技术要考虑到残障人士的应用,如果某个大众信息传播网站,如果某些用户群体(如残疾人)浏览该网站获取信息时,如果他们无法正常获得所期望的信息(如无法正常浏览),那可以依据相关法规,可以对该网站依法起诉)。 WAI-ARIA 为这方面的事提供很不错的资源.
安全
•  在网上有很多关于安全的文章,但是 OWASP 开发指导 涵盖了几乎所有关于Web站点安全的东西。(陈皓注:OWASP(开放Web应用安全项目- Open Web Application Security Project)是一个开放的非营利性组织,目前全球有130个分会近万名会员,其主要目标是研议协助解决Web软体安全之标准、工具与技术文件,长期 致力于协助政府或企业了解并改善网页应用程式与网页服务的安全性。OWASP被视为Web应用安全领域的权威参考。2009年下列发布的美国国家和国际立法、标准、准则、委员会和行业实务守则参考引用了OWASP。美国联邦贸易委员会(FTC)强烈建议所有企业需遵循OWASP十大WEB弱点防护守则)
•  了解什么是 SQL 注入攻击 并知道怎么阻止这种攻击。
•  永远不要相信用户的输入(包括Cookies,因为那也是用户的输入)
•  对用户的口令进行Hash,并使用salt,以防止Rainbow 攻击(陈皓注:Hash算法可用MD5或SHA1等,对口令使用salt的意思是,user 在设定密码时,system 产生另外一个random string(salt)。在datbase 存的是与salt + passwd 产的md5sum 及salt。 当要验证密码时就把user 输入的string 加上使用者的salt,产生md5sum 来比对。 理论上用salt 可以大幅度让密码更难破解,相同的密码除非刚好salt 相同,最后存在database 上的内容是不一样的。google一下md5+salt你可以看到很多文章。关于Rainbow 攻击,其意思是很像密码 字 典表,但不同的是,Rainbow Table存的是已经被Hash过的密码了,而且其查找密码的速度更快,这样可以让攻击非常快)。使用慢一点的Hash算法来保存口令,如 bcrypt (被时间检证过了) 或是 scrypt (更强,但是也更新一些) (1, 2)。你可以阅读一下 How To Safely Store A Password(陈皓注:酷壳以前曾介绍过bcrypt这个算法,这里,我更建议我们应该让用户输入比较强的口令,比如Apple ID注册的过程需要用户输入超过8位,需要有大小写和数字的口令,或是做出类似于这样的用户体验的东西)。
•  不要试图自己去发明或创造一个自己的fancy的认证系统,你可能会忽略到一些不容易让你查觉的东西而导致你的站点被hack了。(陈皓注:我在腾讯那坑爹的申诉系统中说过这个事了,我说过这句话——“真正的安全系统是协同整个社会的安全系统做出来的一道安全长城,而不是什么都要自己搞”,当然,很遗憾不是所有的人都能看懂这个事,包括一些资深的人)
•  了解 处理信用卡的一些规则 . (这里也有一个问题你可以查看一下) (陈皓注:有两上vendor可以帮助你,一个是 Authorize.Net 另一个是 PayFlow Pro)
•  使用 SSL/HTTPS 来加密传输登录页面或是任可有敏感信息的页面,比如信用卡号等。
•  知道如何对付session 劫持。(陈皓注:请参看wikipedia的这Session Hijacking,)
•  避免 跨站脚本攻击(XSS)。(陈皓注:参看酷壳站前几天发的《新浪微博的XSS攻击事件》)
•  避免 跨站伪造请求攻击 cross site request forgeries (XSRF).
•  保持你的系统里的所有软件更新到最新的patch。
•  确保你的数据库连接是安全的。
•  确保你能了解最新的攻击技术,以及你系统的脆弱处。
•  请读一下 The Google Browser Security Handbook.
•  请读一下 The Web Application Hacker’s Handbook.
•  (陈皓注:之前本站的“一些资源”提到过Mozilla的安全编程规范,还有Ruby on Rails的Web安全的开发教程)
性能
•  只要需要,请实现cache机制,了解并合理地使用 HTTP caching 以及 HTML5 Manifest.
•  优化页面 —— 不要使用20KB图片来平铺网页背景。(陈皓注:还有很多网页页面优化性的文章,你可以STFG – Search The Fucking Google一下。如果你要调试的话,你可以使用firebug或是chrome内置的开发人员的工具来查看网页装载的性能)
•  学习如何 gzip/deflate 网页 (deflate 更好).
•  把多个CSS文件和Javascript文件合并成一个,这样可以减少浏览器的网络连数,并且使用gzip压缩被反复用到的文件。
•  学习一下 Yahoo Exceptional Performance 这个网站上的东西,上面有很多非常不错的改善前端性能的指导,以及 YSlow 这个工具。 Google page speed 是另一个用来做性能采样的工具。这两个工具都需要安装 Firebug 。
•  为那些小的图片使用 CSS Image Sprites,就像工具条一样。 (参看 “最小化 HTTP 请求” ) (陈皓注:把所有的小图片合并成一个图片,然后用CSS把显示其中的一块,这样,这些小图片只用传输一次,酷壳的Wordpress样式的那个RSS订阅列表中的小图标就是这样做的)
•  繁忙的网络应该考虑把网页的内容分开存放在不同的域名下。(陈皓注:比如有专门的图片服务器——图片相当耗带宽,或是专门的Ajax服务器)
•  静态网页 (如,图片,CSS,JavaScript,以及一些不需要访问cookies的网页) 应该放在一个不使用cookies的独立的域名下,因为所有在同一个域名或子域名下的cookie会被这个域名下的请求一同发送。另一个好的选择是使用 Content Delivery Network (CDN).
•  使用单个页面的HTTP请求数最小化。
•  为Javascript使用 Google Closure Compiler 或是 其它压缩工具(陈皓注:压缩Javascript代码可以让你的页面减少网络传输从而可以得到很快的喧染。注意,并不是所有的工具都可以正确压缩Javascript的,Google的这个工具甚至还可以帮你优化你的代码)
•  确认你的网站有一个 favicon.ico 文件放在网站的根下,如 /favicon.ico. 浏览器会自动请求这个文件,就算这个图标文件没有在你的网页中明显说明,浏览器也会请求。如果你没有这个文件,就会出大量的404错误,这会消耗你的服务器带宽。(陈皓注:服务器返回404页面会比这个ico文件可能还大)
SEO (搜索引擎优化)
+阅读全文

Centos 安装Apache+PHP+MySQL常见错误及解决方法

Apache访问php文件空白的问题
可能原因:没有权限
1,用这个命令解决seunix问题
chcon -R -h -t httpd_sys_content_t /var/www/html
2,给目录777权限
chmod -R 777 /var/www/html/media

页面出现:Notice: Undefined index: HTTP_X_FORWARDED_FOR
可能这个函数不支持,我们只能把这个错误提示信息给屏蔽就可以了
首先打开错误提示开关:display_errors = On
然后: error_reporting = E_ALL & ~E_NOTICE 去掉前面的分号;
再:error_reporting = E_ALL加上分号,屏蔽它.
如果登录页面登录后还是空白,很有可能apache的mysql支持没有安装
"一个用于使用mysql数据库中php程序模块"勾上.

Fatal error: Call to undefined function mb_strlen() in /var/www/html/media/global.php on line 220提示
+阅读全文

带三角关闭按钮图标的内容提示框实例(Tips)

带三角关闭按钮图标的内容提示框实例(Tips)
+阅读全文

CentOS下php加扩展功能 出错:Syntax error on line 11 of /usr/local/apache/conf/php.conf

Syntax error on line 11 of /usr/local/apache/conf/php.conf:
Invalid command 'AddType', perhaps misspelled or defined by a module not included in the server configuration
+阅读全文

玫瑰花茶与苦丁茶的饮用功效

  肝气郁滞者可用玫瑰花冲水喝。肝气郁滞主要表现为情绪抑郁、胸肋胀闷或胀痛、妇女月经不调或痛经、经前乳胀,这些不适有可能是肿瘤的前兆。美国医学界针对乳腺癌女性患者所做的调查也发现,情绪抑郁是她们的共同特点,与"肝气郁滞"主症相吻合。而玫瑰花可"理气解郁,和血调经",用于肝气郁结所致胸胁满闷,乳房胀痛等,每次可用2-3粒冲水喝。需要注意的是,女性经期血量增加,再"活血调经"的话易致血虚,所以经期应停喝。

......
+阅读全文

苦丁茶的功效与作用及喝苦丁茶的好处

苦丁茶的功效与作用:
【功能主治】
  散风热,清头目,除烦渴。用于头痛、齿痛、目赤、热病烦渴、痢疾。消食化痰,除烦止渴,利二便,去油腻, 散肝风,治耳鸣耳聋,活血脉,凉子宫。
......
+阅读全文

玫瑰花茶的功效与作用及喝玫瑰花茶的好处

玫瑰花茶的功效与作用:
  玫瑰花是一种珍贵的药材,美容养颜,通经活络,软化血管,对于心脑血管,高血压,心脏病及妇科有显著疗效。调和肝脾,理气和胃。在《本草纲目》中已有论述。
......
+阅读全文

PHP添加动态扩展库php_mbstring.dll

PHP无法加载支持动态库:Unable to load dynamic library php_mbstring.dll
错误信息:Fatal error: Call to undefined function mb_strlen() in xxxxxx.php on line n或Unable to load dynamic library
引起这个错误的大概原因是php没有正确支持mbstring扩展函数库。可以用phpinfo测试页面看一下有没有装载mbstring,如果没有,请参考本文进行配置:


windows环境
将php_mbstring.dll复制到%windows%目录下,然后打开PHP INI配置文件目录找到php.ini配置文件,一般在c:/windows/php.ini(当然如果你修改过位置
......
+阅读全文

HTML 锚点使用详解

通过本文你将了解到HTML锚点的作用及其使用方法。
通俗简单地说,比如一篇很长的文章,你想按分段精确定位来看,那就可以用到锚点了。

代码:
<a href="#001">跳到001</a>
…文字省略
<a name="001" id="001" ></a>
…文字省略

其实锚点只需name就可以可,加id是为了让它兼容性更好.
href的值要跟name \ i d 一致,前面必须加"#",以上代码在IE6/7,Firefox中都可以兼容,但在IE8中就不行。
因为我们锚点的......
+阅读全文

php中sql语句使用调用变量常用方法

......
+阅读全文