参数过滤

/**
* 参数过滤
* @param string/array $str
* @return string/array
*/
function get_field($str){
  if(empty($str)){return;}
  $string = preg_replace(‘/select | insert | update | and | in | on | left | joins | delete | \% | \= | \/\* | \* | \.\.\/ | \.\/ | union | from | where | group | into | load_file | outfile /‘,‘‘,$str);
  $new_str = htmlspecialchars($string, ENT_COMPAT);
  $return = strip_tags(str_replace(PHP_EOL.PHP_EOL, PHP_EOL,$new_str));
  return $return;
}

$str = ‘select * from table where id = 1 or name " ‘;
echo red_field($str);
输出:*tableid1 or name "

时间: 2024-10-15 04:57:48

参数过滤的相关文章

输入值/表单提交参数过滤有效防止sql注入的方法

输入值/表单提交参数过滤,防止sql注入或非法攻击的方法: 代码如下: /** * 过滤sql与php文件操作的关键字 * @param string $string * @return string * @author zrp <[email protected]> */ private function filter_keyword( $string ) { $keyword = select|insert|update|delete|\|\/\*|\*|\.\.\/|\.\/|union

关于maven参数过滤

一.maven通过设置过滤器,可以使maven在编译打包时实现参数过滤的功能(详细配置说明略) <filters> <filter>../antx.properties</filter> </filters> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml&l

php参数过滤

//参数过滤 $sVariablesOrder = ini_get( 'variables_order' ); $request = array(); //过滤不安全数据 for ( $i = 0; $i < strlen( $sVariablesOrder ); $i++ ){ $cVariableFlat = strtolower( $sVariablesOrder[$i] ); switch ( $cVariableFlat ){ case 'e': $filtered = filter_

ThinkPhp输入参数过滤

I('id',0); // 获取id参数 自动判断get或者post,不存在时返回默认值0 I('post.name','','htmlspecialchars'); //获取$_POST['name'] I('get.'); // 获取$_GET 使用系统内置的I函数是避免输入数据出现安全隐患的重要手段,I函数默认的过滤方法是htmlspecialchars,如果我们需要采用其他的方法进行安全过滤,有两种方式: 如果是全局的过滤方法,那么可以设置DEFAULT_FILTER,例如: 'DEFA

【脚本】淘宝网页标题显示价格+网址参数过滤

脚本传送门:https://greasyfork.org/zh-CN/scripts/10571-%E6%B7%98%E5%AE%9D-%E6%A0%87%E9%A2%98%E4%BB%B7%E6%A0%BC-url%E8%BF%87%E6%BB%A4 一个用于在网页标题上显示淘宝商品促销价格的脚本,且具备过滤无用地址参数的功能,方便你在将商品添加至收藏夹时,可以记录当时的价格,方便日后比价.同时,你在使用浏览器的[复制网页标题和网址]功能时,以更简洁的内容分享商品信息给他人. ===== 功能

PHP POST, GET 参数过滤,预防sql注入函数

1. 实际过滤函数 可适当修改其中的正则表示式 1 static public function filterWords(&$str) 2 { 3 $farr = array( 4 "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU", 5 "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/

在C#应用程序中,利用表值参数过滤重复,批量向数据库导入数据,并且返回重复数据

在很多情况下,应用程序都需要实现excel数据导入功能,数据如果只有几十条,或上百条,甚至上千条,速度还好. 但是不仅如此,如果客户提供给你的excel本身存在着重复数据,或是excel中的某些数据已经在数据库存在,那这时,在向数据库插入数据前你还得判重,如果不存在才进行导入 通常,我们第一步就会通过上传的方式把excel中的数据读到内存,然后通过循环的方式得出一条一条数据,接着对于每条数据用关键字段去往数据库中进行一次查重,若存在则不做事情,若 不存在则向数据库中插入一条数据.这样一来,我们每

空格字符参数过滤

#!/bin/bash [[ -n "$*" ]] && { for((i=1;i<="$#;"i++)) do echo "${!i}" done } || { echo 'Empty argument !' } #bash test.sh 1 2 3 "4 5" 6 "7 8" 1 2 3 4 5 6 7 8 原文地址:https://www.cnblogs.com/orzs/p/

C# 过滤SQL 字符串中的 参数

/// <summary> /// 参数过滤 /// </summary> /// <param name="parameters"></param> /// <param name="sql"></param> /// <returns></returns> public static IEnumerable<PropertyInfo> FilterPara