用PHP过滤html里可能被利用来引入外部危险内容的代码。有些时候,需要让用户提交html内容,以便丰富用户发布的信息,当然,有些可能造成显示页面布局混乱的代码也在过滤范围内。
以下是引用片段:
#用户发布的html,过滤危险代码
以下为引用的内容:
function uh($str)
{
$farr = array(
“/\s+/”, //过滤多余的空白
Works |
No Comments |
Permalink | Posted on : 31st August 2008
我们知道在学习php和jsp的时候,出现乱码是经常性的事情,怎样来一劳永逸的解决这个问题,我来做个总结。
首先来了解一下字符集,我们关心的字符集大概有这么几个,iso-8859-1、gb2312、gbk、utf-8,其中iso-8859-1是采用1个字节进行编码,而gb2312和gbk则是在其基础之上使用双字节来对汉字进行编码,而utf-8使用了3个字节编码,因此它容纳了几乎所有字符,包括中国、日本和韩国的表意字符。这也就不难理解为什么字符集设置错误会导致乱码了。
在来看一下在编程的过程中有哪些地方涉及到字符集的设置,本质上只有两个地方,文件本身的字符集和浏览器解析时使用的字符集,当然数据库也存在字符集的设置(其实数据库本质和文件没有区别),那怎样才能避免乱码呢?我们用保证字符集的一致性,那就是数据库、文件、浏览器3者使用的字符集是一致的,要么都是gb2312,要么都是utf-8,当然iso-8859-1不行,它不支持中文。
Works |
No Comments |
Permalink | Posted on : 26th August 2008
Ola Bini说这个世界不会再有新的大(big)语言了,因为开发者要根据其问题域来选择不同的语言。同样,Martin Folwer说开发者选择语言的根据是它能做什么,就像他们选择框架一样。另一方面,Joe Winchester说你只能精通一种语言。
Ola Bini在一篇最近发表的文章中详细分析了Haskell、Java和Ruby的类型系统的优劣,对这些语言进行比较并非不可能,但却很难:
现在我们有三种语言。一种静态检查较强,比如Haskell。一种静态检查较弱,比如Java。还有一种是动态检查的,如Ruby。从我的角度来说,他们分别善于不同的方面。甚至在同一个领域里他们都不会互相竞争。对他们进行比较真的没有什么太大意义。
Works |
No Comments |
Permalink | Posted on : 23rd August 2008
卡巴斯基这个俄国人做的杀毒软件呢,一直比较彪悍,经常见到什么东西都一阵嘶吼,然后你正常使用的软件也就挂了,QQ啊,这样的主流应用也是经常在它的误杀范围内。
对于开发人员来说,因为卡巴斯基更是会有诸多不爽的问题,下面列举一二,是我的惨痛教训,也和大家分享一下。
SVN 问题:如果你使用 SVN 做配置管理的话,有时候 check in 代码会半天没有反应,如果这时候你把卡巴禁用,就一切正常了。
IntelliJ IDEA 端口冲突问题:用 IDEA 启动 Tomcat 时,使用了 8080 或者 80 端口,经常会启动就报端口冲突,而端口绝对是没有被其他应用程序占用的,而在独立的 Tomcat 下运行没有出现这样的问题,把卡巴对这些端口的监控关闭就一切正常。
这两个问题都是比较郁闷的,卡巴斯基很强悍,却总是让人很无奈。
Tags: 卡巴
Works |
No Comments |
Permalink | Posted on : 21st August 2008
<?php
header(’Content-type: text/html;charset=utf-8′);
error_reporting(E_ALL);
set_time_limit(0);
$zip_filename = “Test.zip”;
$zip_filename = key_exists(’zip’, $_GET) && $_GET['zip']?$_GET['zip']:$zip_filename;
$zip_filepath = str_replace(’\\’, ‘/’, dirname(__FILE__)) . ‘/’ . $zip_filename;
if(!is_file($zip_filepath))
{
Tags: PHP, ZIP
Works |
No Comments |
Permalink | Posted on : 21st August 2008
随着PHP对OOP(面向对象编程)支持的增强以及程序设计思想的发展,越来越多的PHP程序员走进了OOP的世界.通过简单的学习,大多数程序员都能
快速的掌握OOP编程的基本技能.程序员们所写的代码里class,new等字符串也越来越多.但是作为程序员的你,是否陷入了一种OO形式,PO思想的
编程陷阱呢?
作为POP时代的程序员,为了实现计算一件房子的所有门的价格,他们会写这样一个函数.
代码:
/******************************************
函数:priceOfHouseDoor($num,$price)
功能:计算所有的门的价格总和
参数:$num 门的数量,$price 每扇门的价格
备注:Erichoo @ http://www.erichoo.com/
******************************************/
Tags: OOP, POP
Works |
No Comments |
Permalink | Posted on : 21st August 2008