共 7 页, « 1 [2] 3 4 5 » ... 最后一页 »
在写CGI时,有时需要检测当前的连接是否是https的,比如设置cookie时。 可以通过HTTPS环境变量来检测,在http下该环境变量不存在,https下该环境变量值为 on。
my $https = (defined $ENV{HTTPS}) ? lc($ENV{HTTPS}) : 'off';
然后在设置cookie时即可这样做:
my $cookie = new CGI::Cookie( -name => 'foo',
-value => 'bar',
-secure => ($https eq 'on') ? 1 : 0
);
发表日:2008/7/30
作者:长野雅广(Masahiro Nagano)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0005
前几次的文章在这里:
- 第1次:http://tech.idv2.com/2008/07/10/memcached-001/
- 第2次:http://tech.idv2.com/2008/07/11/memcached-002/
- 第3次:http://tech.idv2.com/2008/07/16/memcached-003/
- 第4次:http://tech.idv2.com/2008/07/24/memcached-004/
我是Mixi的长野。memcached的连载终于要结束了。 到上次为止, 我们介绍了与memcached直接相关的话题,本次介绍一些mixi的案例和 实际应用上的话题,并介绍一些与memcached兼容的程序。
阅读全文 »新版的MediaWiki(1.11.1)默认情况下文件上传是关闭的,不过打开它非常容易。
编辑LocalSettings.php,修改下面这一行为true即可。
$wgEnableUploads = true;
之后页面左侧的“工具箱”中会多出一项“上传文件”,单击它即可上传文件。
但如果你要上传png格式的图片,就会发现,系统禁止了png类型的文件。调查includes/DefaultSettings.php的 $wgFileExtensions 变量, 可以看到png格式是允许的。但为什么无法上传呢?JPG和GIF都可以正常上传啊。
原因是MediaWiki会判断上传文件的MIME Type,并禁止某些类型的MIME Type上传。 而文件的MIME Type获取是通过php的mime_magic模块进行的, 默认情况下这个模块无法正确识别png格式,所以png图像就无法得到正确的MIME Type,于是上传失败。
在phpinfo()中可以看到这样几行文字:
| mime_magic support | enabled |
| Directive | Local Value | Master Value |
| mime_magic.debug | Off | Off |
| mime_magic.magicfile | /etc/httpd/conf/magic | /etc/httpd/conf/magic |
得知mime_magic的配置文件是 /etc/httpd/conf/magic。打开此文件就可以发现其中并没有PNG格式。
在GIF和JPG文件的附近添加这样一行:
# PNG 1 string PNG image/png
然后重新启动httpd。这样PNG文件就可以正常上传了。
发表日:2008/7/23
作者:长野雅广(Masahiro Nagano)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0004
前几次的文章在这里:
- 第1次:http://tech.idv2.com/2008/07/10/memcached-001/
- 第2次:http://tech.idv2.com/2008/07/11/memcached-002/
- 第3次:http://tech.idv2.com/2008/07/16/memcached-003/
我是Mixi的长野。 第2次、 第3次 由前坂介绍了memcached的内部情况。本次不再介绍memcached的内部结构, 开始介绍memcached的分布式。
阅读全文 »下面是《memcached全面剖析》的第三部分。
发表日:2008/7/16
作者:前坂徹(Toru Maesaka)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0003
前几次的文章在这里:
- 第1次:http://tech.idv2.com/2008/07/10/memcached-001/
- 第2次:http://tech.idv2.com/2008/07/11/memcached-002/
下面是《memcached全面剖析》的第二部分。
发表日:2008/7/9
作者:前坂徹(Toru Maesaka)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0002
翻译一篇技术评论社的文章,是讲memcached的连载。fcicq同学说这个东西很有用,希望大家喜欢。
发表日:2008/7/2
作者:长野雅广(Masahiro Nagano)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0001
我是mixi株式会社开发部系统运营组的长野。 日常负责程序的运营。从今天开始,将分几次针对最近在Web应用的可扩展性领域 的热门话题memcached,与我公司开发部研究开发组的前坂一起, 说明其内部结构和使用。
阅读全文 »今天delicious上这个名为 SocialHistory 的脚本十分引人注目。 源代码可以在这里下载。 这段js代码的功能就是判断你的用户有没有访问过某个网站。使用方法很简单,例如:
window.onload = function() {
var sl = new SocialHistory();
alert(sl.doesVisit("Del.icio.us"));
}
如果用户曾经使用过del.icio.us,那么该函数就会返回真,否则返回假。
其实原理并不复杂,它利用了链接的 a:visited 伪类的属性。首先在页面上生成一个iframe, 并在这个iframe中设置 a 和 a:visited 为不同的样式。然后将网站的链接插入到 iframe 中。 浏览器就会根据用户的访问历史,为访问过的链接设置 a:visited 的样式。 最后再获得链接的最终样式,如果是 a:visited,就可以认为用户访问过该网站了。 具体的实现方式可以参考源代码。
这个脚本主要用于显示社会性书签的图标,可以恰到好处地显示用户所使用的网站。 但我担心,这样的做法是不是有盗取用户隐私之嫌? 虽然这个方法只能判断用户有无访问特定的网站,并不能无限制地得到所有访问历史。
fcicq最近在IPA上看到一篇安全相关的文章, 它的最末尾有个checklist,于是催我把它翻译了。前几天比较忙,周末没什么事儿了,就翻译一下吧。
原文的标题是如何让网站更安全。 这里仅翻译文章最后的一个checklist。
2008/4/20更新:fcicq倒是神速啊,马上就把具体的应用策略扔出来了
参考:PHP 实践 Security Checklist
margin和padding的意义相信大家都很清楚,可是在具体应用中, 到底应该使用哪一个,就比较难于判断了。 这篇文章 说得挺清楚的,在这里翻译一下,供参考。
何时应当使用margin
- 需要在border外侧添加空白时。
- 空白处不需要背景(色)时。
- 上下相连的两个盒子之间的空白,需要相互抵消时。如15px + 20px的margin,将得到20px的空白。
何时应当时用padding
- 需要在border内测添加空白时。
- 空白处需要背景(色)时。
- 上下相连的两个盒子之间的空白,希望等于两者之和时。如15px + 20px的padding,将得到35px的空白。
浏览器兼容性问题
在IE 5.x、IE6中,为float的盒子指定margin时,左侧margin可能会变成两倍的宽度。 通过改用padding或指定盒子为display:inline可以解决。
