discuz的php防止sql注入函数

转载自:http://www.jb51.net/article/26069.htm
最早开始学习php的时候根本没考虑过安全方面的问题,那时候就是想能做出功能就是万岁了。随着做项目的时间慢慢加长,越来越感觉到网站安全方面的问题十分重要。
最近在做一个主题投票网站,客户懂一些程序方面的东西。有特别要求需要过滤一些字符防止sql注入。本来这方面就没有特别的研究过。呵呵,又发扬了一回拿来主义。把discuz论坛的sql防注入函数取了来!

$magic_quotes_gpc = get_magic_quotes_gpc(); 
@extract(daddslashes($_COOKIE)); 
@extract(daddslashes($_POST)); 
@extract(daddslashes($_GET)); 
if(!$magic_quotes_gpc) { 
$_FILES = daddslashes($_FILES); 
} 
 
 
function daddslashes($string, $force = 0) { 
if(!$GLOBALS['magic_quotes_gpc'] || $force) { 
if(is_array($string)) { 
foreach($string as $key => $val) { 
$string[$key] = daddslashes($val, $force); 
} 
} else { 
$string = addslashes($string); 
} 
} 
return $string; 
}

大家可以增强下面的代码加以保护服务器的安全,PHP防止SQL注入安全函数十分重要!

/* 
函数名称:inject_check() 
函数作用:检测提交的值是不是含有SQL注射的字符,防止注射,保护服务器安全 
参  数:$sql_str: 提交的变量 
返 回 值:返回检测结果,ture or false 
*/ 
function inject_check($sql_str) { 
return eregi('select|insert|and|or|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str); // 进行过滤 
} 
 
/* 
函数名称:verify_id() 
函数作用:校验提交的ID类值是否合法 
参  数:$id: 提交的ID值 
返 回 值:返回处理后的ID 
*/ 
function verify_id($id=null) { 
if (!$id) { exit('没有提交参数!'); } // 是否为空判断 
elseif (inject_check($id)) { exit('提交的参数非法!'); } // 注射判断 
elseif (!is_numeric($id)) { exit('提交的参数非法!'); } // 数字判断 
$id = intval($id); // 整型化 
 
return $id; 
} 
 
/* 
函数名称:str_check() 
函数作用:对提交的字符串进行过滤 
参  数:$var: 要处理的字符串 
返 回 值:返回过滤后的字符串 
*/ 
function str_check( $str ) { 
if (!get_magic_quotes_gpc()) { // 判断magic_quotes_gpc是否打开 
$str = addslashes($str); // 进行过滤 
} 
$str = str_replace("_", "\_", $str); // 把 '_'过滤掉 
$str = str_replace("%", "\%", $str); // 把 '%'过滤掉 
 
return $str; 
} 
 
/* 
函数名称:post_check() 
函数作用:对提交的编辑内容进行处理 
参  数:$post: 要提交的内容 
返 回 值:$post: 返回过滤后的内容 
*/ 
function post_check($post) { 
if (!get_magic_quotes_gpc()) { // 判断magic_quotes_gpc是否为打开 
$post = addslashes($post); // 进行magic_quotes_gpc没有打开的情况对提交数据的过滤 
} 
$post = str_replace("_", "\_", $post); // 把 '_'过滤掉 
$post = str_replace("%", "\%", $post); // 把 '%'过滤掉 
$post = nl2br($post); // 回车转换 
$post = htmlspecialchars($post); // html标记转换 
 
return $post; 
}

detect browser and platform

$Agent = $_SERVER['HTTP_USER_AGENT'];
function determinebrowser ($Agent) 
{
	$browseragent	=	"";   //browser
	$browserversion	=	""; //browser version
	if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) 
	{
		$browserversion=$version[1];
		$browseragent="Internet Explorer";
	} else if (ereg( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) {
		$browserversion=$version[1];
		$browseragent="Opera";
	} else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) {
		$browserversion=$version[1];
		$browseragent="Firefox";
	}else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) {
		$browserversion=$version[1];
		$browseragent="Chrome";
	}
	else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) {
		$browseragent="Safari";
		$browserversion="";
	}
	else 
	{
		$browserversion="";
		$browseragent="Unknown";
	}
	return $browseragent;
	//" ".$browserversion;
}
//
function determineplatform ($Agent) 
{
	$browserplatform=='';
	if (eregi('Windows Phone',$Agent))
	{
		$browserplatform="Windows Phone";
	}
	elseif (eregi('win',$Agent) && strpos($Agent, '95')) 
	{
		$browserplatform="Windows 95";
	}
	elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {
		$browserplatform="Windows ME";
	}
	elseif (eregi('win',$Agent) && ereg('98',$Agent)) {
		$browserplatform="Windows 98";
	}
	elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {
		$browserplatform="Windows 2000";
	}
	elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {
		$browserplatform="Windows XP";
	}
	elseif (eregi('win',$Agent) && eregi('nt 6.0',$Agent)) {
		$browserplatform="Windows Vista";
	}
	elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) {
		$browserplatform="Windows 7";
	}
	elseif (eregi('win',$Agent) && ereg('32',$Agent)) {
		$browserplatform="Windows 32";
	}
	elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {
		$browserplatform="Windows NT";
	}
	elseif (eregi('IPhone',$Agent)) {
		$browserplatform="IPhone";
	}
	elseif (eregi('IPad',$Agent)){
		$browserplatform="IPad";
	}
	elseif (eregi('Mac OS',$Agent)) {
		$browserplatform="Mac OS";
	}
	elseif (eregi('Android',$Agent)) {
		$browserplatform="Android";
	}
	elseif (eregi('linux',$Agent)) {
		$browserplatform="Linux";
	}
	elseif (eregi('unix',$Agent)) {
		$browserplatform="Unix";
	}
	elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
		$browserplatform="SunOS";
	}
	elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {
		$browserplatform="IBM OS/2";
	}
	elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {
		$browserplatform="Macintosh";
	}
	elseif (eregi('PowerPC',$Agent)) {
		$browserplatform="PowerPC";
	}
	elseif (eregi('AIX',$Agent)) {
		$browserplatform="AIX";
	}
	elseif (eregi('HPUX',$Agent)) {
		$browserplatform="HPUX";
	}
	elseif (eregi('NetBSD',$Agent)) {
		$browserplatform="NetBSD";
	}
	elseif (eregi('BSD',$Agent)) {
		$browserplatform="BSD";
	}
	elseif (ereg('OSF1',$Agent)) {
		$browserplatform="OSF1";
	}
	elseif (ereg('IRIX',$Agent)) {
		$browserplatform="IRIX";
	}
	elseif (eregi('FreeBSD',$Agent)) {
		$browserplatform="FreeBSD";
	}
	if ($browserplatform=='') {$browserplatform = "Unknown"; }
	return $browserplatform;
}

英语中大小写的使用规则

转载自:http://toefl.xdf.cn/201308/9657841.html

1.直接引语中,句首字母要大写。例如:“Then,”I said,“You havebeen making a mistake,and the letter is not in the apartment.”“那么,”我说,“你准弄错了。这封信并不在那栋房子里。”

2.星期、月份名称的第一个字母要大写,但季节第一个字母不大写。例如:Sunday星期天,August八月,winter冬天,spring春天。

3.一些大型节日名称的第一个实词的第一字母都要大写。如:Children‘s Day儿童节,National Day国庆节, Teachers’ Day教师节。

4.由普通名词构成的专有名词词组,除其中的冠词、较短的介词和连词外,每个词的第一字母都要大写。例如:the Great Wall长城,the UnitedStates美国。

5.大型会议、文件、条约名称的每个实词(虚词:副词、介词、连词、助词、叹词和拟声词则不用大写)的第一个字母都要大写。书名、报刊名应大写首字母,文章标题中的每一个实词的第一个字母要大写。

如:China Daily《中国日报》,New York Times《纽约时报》,Their Class《他们的班级》(文章标题),the Warsaw Treaty《华沙条约》, 实例:English Coaching Paper《英语辅导报》。

6.诗歌的每一行的第一个单词的第一个字母要大写。

  7. 表示称呼语或职务的词首字母要大写。实例:Mr Green格林先生, Dr Li李博士

  8.大多数的缩略词要大写。实例:CCTV(中国中央电视台), ID(身份证), CD(光盘)

10.句子开头的第一个字母要大写。“I(我)”在句中任何位置都要大写。例如:What‘s her name?Mary and I are teachers.

11.地名、国名和人名等专有名词第一个字母要大写。例如:Russia(俄罗斯),Youyang(酉阳),Chengdu(成都),Jack(杰克)。

12.一些亲属关系(如mother,sister,mum,dad等)用作称呼语时第一个字母要大写。例如:Thank you,Granny.谢谢你,姥姥。

13.人名前的称呼或头衔第一个字母应大写。例如:Mr Smith,Dr Wang,Miss Mary。

  14.表示语种、民族的名词或形容词第一个字母要大写。例如:Russian俄语、俄罗斯人(的),Chinese汉语、中国人(的)。

以上就是新托福写作备考时最容易被忽视考生的英语大写规则,大家在练习新托福写作的时候一定要注意拼写规则和语法运用。

End of this year

Today is 12.8, almost end of this year. This year loss 6000 yuan in the stock market. Earn 0 yuan in total.
Wages did not rise, I want rise 33% in the next year, this month I need learn the C program language.

At the start of this year, I write 9 targets, but all targets failed. So I decide to make less targets. Depend on current situation and salary, I think I can save 2500 yuan/month, 30 thousands yuan/year. Another one is girlfriend, no matter what is the result, you should try your best to make her smile, happy. That’s all.