• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php对提交数据的验证

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
<?php
   //security.php
/**
 * @author zhengwei
 * @copyright 2007
 */

/* 
函数名称:inject_check() 
函数作用:检测提交的值是不是含有SQL注射的字符,防止注射,保护服务器安全 
参  数:$sql_str: 提交的变量 
返 回 值:返回检测结果,ture or false 
函数作者:heiyeluren 
*/ 
function inject_check($sql_str) {  
  return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str);    // 进行过滤  
}  
 
/* 
函数名称:verify_id() 
函数作用:校验提交的ID类值是否合法 
参  数:$id: 提交的ID值 
返 回 值:返回处理后的ID 
函数作者:heiyeluren 
*/ 
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: 要处理的字符串 
返 回 值:返回过滤后的字符串 
函数作者:heiyeluren 
*/ 
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: 返回过滤后的内容 
函数作者:heiyeluren 
*/ 
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;  
}  


foreach ($_POST as $post_key=>$post_var)
{
 if (is_numeric($post_var)) {
  $post[strtolower($post_key)] = get_int($post_var);
 } else {
  $post[strtolower($post_key)] = get_str($post_var);
 }
}

/* 过滤函数 */
//整型过滤函数
function get_int($number)
{
    return intval($number);
}
//字符串型过滤函数
function get_str($string)
{
    if (!get_magic_quotes_gpc()) {
 return addslashes($string);
    }
    return $string;
}

?> 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
nginx调用php-fpm出错解决方法和nginx配置详解发布时间:2022-07-10
下一篇:
php伪协议发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap