php对提交数据的验证
<?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; }?>
转载于:https://www.cnblogs.com/hubing/p/3467590.html
php对提交数据的验证相关推荐
- php判断post是否xss,PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】...
本文实例讲述了PHP实现表单提交数据的验证处理功能.分享给大家供大家参考,具体如下: 防XSS攻击代码: /** * 安全过滤函数 * * @param $string * @return strin ...
- 用javascript写一个简单的登录表单,包含用户名、密码和手机号码。提交数据时验证用户名、密码和手机号输入格式。
题目:写一个用于登录的表单,包含用户名.密码和手机号码.提交数据的时候,要求验证: 1. 用户名必须输入汉字: 2. 密码总共6位,前2位为字母,后4位为数字: 3. 手机号码符合中国大陆手机号码格式 ...
- Silverlight实例教程 - Validation用户提交数据验证捕获
在以往的Validation系列中,介绍了四种Silverlight验证机制: 基本异常验证机制: DataAnnotation验证机制: IDataErrorInfo客户端同步验证机制: INoti ...
- 手机端系统提交数据的创建时间验证的问题
今天查看系统时,发现手机端系统提交的数据中存在一些日期特别离谱的数据.比如创建时间为1978年和2019年的数据都出现了. 果真是穿越了半个世纪了.于是我马上将问题提交出来,安排同事处理,并分析产生数 ...
- ASP.NET MVC 第三章 异步提交数据
好长时间都没写文章了本来不准备在写文章了,但是我又为什么今天发表文章咧,第一是为了我自己对技术的认识.第二是为了新手不知道怎么去学习MVC写次系列文章. 废话结束吧,接下来我们看看怎么异步实现提交数据 ...
- ajax提交到mysql_利用ajax的方式来提交数据到后台数据库及交互功能
怎么样用ajax来提交数据到后台数据库,并完成交互呢????? 一.当我们在验证表单的时候,为了阻止把错误的也发送到服务器,我们通常这样设置: $(function(){ var isusername ...
- php ci提交表单验证,ci表单验证代码
概述 这是只考虑php对表单数据的接收处理.至于js部分以前会结合validate来讲解下 在解释 CodeIgniter 的数据验证处理之前,让我们先描述一下一般的情况: 一个表单显示了. 你填写并 ...
- C# HttpWebRequest提交数据方式
HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对于控制台程 ...
- php 当我添加数据成功后跳到首页 为什么刷新还会增加数据,使用post提交数据之后,有错误,页面刷新之后,想保持原有值...
如题,我使用的ecmall模板 *{$lang.user_name}: {$lang.user_name_desc}{$lang.checking} 回复讨论(解决方案) 想用 $smarty.pos ...
最新文章
- __cplusplus与extern C
- idea springmvc_IDEA搭建SSM(spring+springmvc+mybatis)Maven项目的入门案例
- JavaScript parseInt() 函数
- python 生成器 generator
- 快速排序——三种划分方式
- 无烟会议室:CMMI vs. Scrum vs. XP(QCon 2010 感受)
- 从零玩转Webpack4+实现原理笔记(一)
- MFS 高可用存储分布式文件系统
- oracle下载历史版本,ORACLE老版本下载地址
- 控制~李雅普诺夫稳定性
- CMMI认证难度大吗?
- 统计学和算法相关的基础知识(持续更新)
- 基于Kinect 2.0深度图像的快速体积测量
- 计算机重装系统知识,想学重装系统要怎么做?重难点知识讲解,零基础照样能够装系统!...
- 2021-09-252021年中式烹调师(中级)考试技巧及中式烹调师(中级)证考试
- su su- sudo
- 开源!MatrixBench:实时物联网场景的数据压测“兵法秘籍”
- 计算机服务用什么打开,bonjour是什么软件_在win7电脑中打开itunes程序却提示bonjour服务已被禁用怎么办?...
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法
- 简单的思维导图怎么画
热门文章
- [译]ECMAScript:ES.next和ES6以及ES Harmony之间的区别
- 职场减压妙计:主动降职
- 中国移动短信网关CMPP3.0 C#源代码:使用示例
- 更换jdk Error:could not open '...jvm.cfg'解决方法
- aio 爬虫,去重,入库
- kubernetes认证,对接第三方认证系统,对接github认证
- Hadoop MapReduce概念学习系列之map并发任务数和reduce并发任务数的原理和代码实现(十八)...
- Android4.0源码Launcher启动流程分析【android源码Launcher系列一】
- hibernate 初学 第一个例子
- lsnrctl 与 tnsnames.ora 的联系