php强大的filter过滤用户输入】的更多相关文章

<?php $filters = array //定义过滤的数组 ( "name" => array ( "filter"=>FILTER_SANITIZE_STRING ), "age" => array ( "filter"=>FILTER_VALIDATE_INT, //下面的option是FILTER_VALIDATE_INT的过滤选项,查手册可以用到, "options&quo…
规则 1:绝不要信任外部数据或输入 关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在PHP代码中直接输入的任何数据.在采取措施确保安全之前,来自任何其他来源(比如 GET 变量.表单 POST.数据库.配置文件.会话变量或 cookie)的任何数据都是不可信任的. 例如,下面的数据元素可以被认为是安全的,因为它们是在PHP中设置的. 复制代码 代码如下: <?php $myUsername = 'tmyer'; $arr…
如果你能正确可靠地识别和过滤输入,你的工作就基本完成了.最后一步是使用一个命名约定或其它可以帮助你正确和可靠地区分已过滤和被污染数据的方 法.我推荐一个比较简单的命名约定,因为它可以同时用在面向过程和面向对象的编程中.我用的命名约定是把所有经过滤的数据放入一个叫$clean的数据 中.你需要用两个重要的步骤来防止被污染数据的注入: 经常初始化$clean为一个空数组. 加入检查及阻止来自外部数据源的变量命名为clean. 实际上,只有初始化是至关紧要的,但是养成这样一个习惯也是很好的:把所有命名…
/** * 过滤用户输入的基本数据,防止script攻击 * * @access public * @return string */ function compile_str($str) { $arr = array('<' => '<', '>' => '>','"'=>'”',"'"=>'’'); return strtr($str, $arr); }…
摘抄自ThinkPHP /** * 获取变量 支持过滤和默认值 * @param array $data 数据源 * @param string|false $name 字段名 * @param mixed $default 默认值 * @param string|array $filter 过滤函数 * @return mixed */ function input($data = [], $name = '', $default = null, $filter = '') { $name =…
null 不设置时默认设置为False.设置为True时,数据库表字段中将存入NULL的记录. null和blank组合使用,null=True,blank=True,表示该字段可以为空 blank 默认设置为False.设置为True时,表字段许可无任何输入.设置为False 时,表字段为必须输入的字段 choices 备选设置.选择列表选项,如果设置后,该字段的表单必然会是下拉选择的.这个值必须是一个有小括号构成的元组,每个元组前一个字段将存入数据库,后一个字段是显示给用户看的. defau…
在开发程序的过程中,稍微不注意就会隐含有sql注入的危险.今天我就来说下,ASP.NET mvc 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁.不用每下地方对参数的值都进行检查,看是用户输入的内容是否有危险的sql.如果每个地方都要加有几个缺点: 1.工作量大 2.容易遗漏 3.不容易维护 下面我通过写一个过滤防止sql的特性类,对Action执行前对Action的参数进行处理,如果有其值有sql语句,就会这些非法字符替换为空字符串. 一.sql注入的例子: 上面的输入…
在开发程序的过程中,稍微不注意就会隐含有sql注入的危险.今天我就来说下,ASP.NET mvc 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁.不用每下地方对参数的值都进行检查,看是用户输入的内容是否有危险的sql.如果没个地方都要加有几个缺点: 1.工作量大 2.容易遗漏 3.不容易维护 下面我通过写一个过滤防止sql的特性类,对Action执行前对Action的参数进行处理,如果有其值有sql语句,就会这些非法字符替换为空字符串. 一.sql注入的例子: 上面的输入…
0x00 安全引言 1.传统Web应用与新兴移动应用 (1)传统Web应用:浏览器 HTTP 服务器(2)新兴移动应用:APP HTTP 服务器 从安全角度看,传统Web应用与新兴移动应用没有本质区别 2.Web应用安全的核心问题是什么? 用户提交的数据不可信是Web应用程序核心安全问题 用户可以提交任意输入 例如: √ 请求参数->多次提交或者不提交√ 修改Cookie√ 修改HTTP信息头√ 请求顺序->跳过或者打乱 3.Web应用防御 (1)完善的异常处理(2)监控(3)日志:记录重要业…
有些黑客经常闲得蛋疼的那别人的网站测试,利用一些输入的漏洞提交js代码,搞恶作剧. 对于freemarker视图的web应用,可以参考以下方法: http://yshjava.iteye.com/blog/1870320 https://my.oschina.net/greki/blog/83246 如果是其他视图,可以在ajax提交前过滤一下代码: function htmlEncodeJQ ( obj ) { for (var p=0;p<obj.length;p++){ if(typeof…