iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >yii和tp框架如何预防SQL注入
  • 729
分享到

yii和tp框架如何预防SQL注入

2024-04-02 19:04:59 729人浏览 薄情痞子
摘要

yii和tp框架预防sql注入的方法:一、yii框架在对应文件中添加以下代码进行调用:function actionClean($str){$str=trim($str);$str=strip_tags($str);$str=st

yii和tp框架如何预防SQL注入

yii和tp框架预防sql注入的方法:

一、yii框架

在对应文件中添加以下代码进行调用:

function actionClean($str)

{

$str=trim($str);

$str=strip_tags($str);

$str=stripslashes($str);

$str=addslashes($str);

$str=rawurldecode($str);

$str=quotemeta($str);

$str=htmlspecialchars($str);

//去除特殊字符

$str=preg_replace("/\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\.|\/|\;|\'|\`|\-|\=|\\\|\|/", "" , $str);

$str=preg_replace("/\s/", "", $str);//去除空格、换行符、制表符

return $str;

}

//防止sql注入

public function actionFilterArr($arr)

{

if(is_array($arr)){

foreach($arr as $k => $v){

$arr[$k] = $this->actionFilterWords($v);

}

}else{

$arr = $this->actionFilterWords($arr);

}

return $arr;

}

//防止xss攻击

public function actionFilterWords($str)

{

$farr = array(

"/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU",

"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",

"/select|insert|update|delete|drop|\'|\/\*|\*|\+|\-|\"|\.\.\/|\.\/|uNIOn|into|load_file|outfile|dump/is"

);

$str = preg_replace($farr,'',$str);

return $str;

}

//防止sql注入,xss攻击(2)

public function post_check($post) {

if(!get_magic_quotes_gpc()) {

foreach($post as $key=>$val){

$post[$key] = addslashes($val);

}

}

foreach($post as $key=>$val){

//把"_"过滤掉

$post[$key] = str_replace("_", "\_", $val);

//把"%"过滤掉

$post[$key] = str_replace("%", "\%", $val); //sql注入

$post[$key] = nl2br($val);

//转换html

$post[$key] = htmlspecialchars($val); //xss攻击

}

return $post;

}

二、tp框架

系统底层对于数据安全方面本身进行了相应的防范机制,例如:

$User = M("User"); // 实例化User对象

$User->find($_GET["id"]);

查询条件进行预处理,where方法使用字符串条件时,进行安全过滤,并支持两种方式传入预处理参数,例如:

$Model->where("id=%d and username='%s' and xx='%f'",array($id,$username,$xx))->select();

// 或者

$Model->where("id=%d and username='%s' and xx='%f'",$id,$username,$xx)->select();

--结束END--

本文标题: yii和tp框架如何预防SQL注入

本文链接: https://www.lsjlt.com/news/113673.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • yii和tp框架如何预防SQL注入
    yii和tp框架预防SQL注入的方法:一、yii框架在对应文件中添加以下代码进行调用:function actionClean($str){$str=trim($str);$str=strip_tags($str);$str=st...
    99+
    2024-04-02
  • php框架中如何防止sql注入
    php框架中防止sql注入的方法:在php.ini配置文件中打开php的安全模式,例如:safe_mode = on当safe_mode打开时,将safe_mode_gid关闭,例如:safe_mode_gid = off在安全模式下指定要...
    99+
    2024-04-02
  • node如何预防sql注入
    node预防sql注入的方法:使用mysql.format()转义参数,例如:var userId = 1;var sql = "SELECT * FROM WHERE = ";var inserts = ['users...
    99+
    2024-04-02
  • php如何预防sql注入漏洞
    php预防sql注入漏洞的方法:利用magic_quotes_gpc指令或它的搭挡addslashes()函数进行过滤,例如:<php//php防注入和XSS攻击通用过滤$_GET    &nb...
    99+
    2024-04-02
  • SQL注入如何做预防措施
    小编给大家分享一下SQL注入如何做预防措施,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 .什么是sql注入(Sql inje...
    99+
    2024-04-02
  • javaweb登录如何预防SQL注入
    javaweb登录预防SQL注入的方法:可采用PreparedStatement进行预编译,例如:String sql = "select* from users where username= and pas...
    99+
    2024-04-02
  • tp是如何解决sql注入的
    tp解决sql注入的方法:系统底层对于数据安全方面本身进行了相应的防范机制,例如:$User = M("User"); // 实例化User对象$User->find($_GET["id"]);查询条件进行预处理,where方法使...
    99+
    2024-04-02
  • mysql预处理如何防止sql注入
    mysql预处理防止sql注入的方法:预处理的语法://发送一条sql给mysql服务器,mysql服务器会解析这条sql  $pdo->prepare('select * from b...
    99+
    2024-04-02
  • nginx如何防止xss和sql注入
    nginx防止xss和sql注入的方法:将以下nginx配置文件代码放入到对应站点的.conf 配置文件server里,重启nginx即可,代码如下:if($request_method !~* GET|POST){return444;}#...
    99+
    2024-04-02
  • PHP的预处理查询如何防止SQL注入
    这篇文章主要讲解了“PHP的预处理查询如何防止SQL注入”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP的预处理查询如何防止SQL注入”吧!PHP的预处理查询是如何防止SQL注入的?目前...
    99+
    2023-07-05
  • thinkphp如何防SQL注入
    thinkphp防SQL注入的方法:系统底层对于数据安全方面本身进行了相应的防范机制,例如:$User = M("User"); // 实例化User对象$User->find($_GET["id"]);查询条件进行预处理,wher ...
    99+
    2024-04-02
  • springboot如何防sql注入
    springboot防sql注入的方法:通过webFilter防止sql注入,例如:@Component@WebFilter(urlPatterns = ")|" +"(\\b(select|update|and|or|delete|ins...
    99+
    2024-04-02
  • mybatis如何防sql注入
    mybatis防sql注入的方法:在框架底层,JDBC中的PreparedStatement类添加以下代码,例如://安全的,预编译了的Connection conn = getConn();//获得连接String sql = "sele...
    99+
    2024-04-02
  • discuz如何防sql注入
    discuz防sql注入的方法:在对应的文件中添加以下代码对特殊字符进行过滤,例如: function inject_check($sql_str) { return eregi('select|insert|and|or|update|d...
    99+
    2024-04-02
  • 如何防止xss和sql注入攻击
    防止xss和sql注入攻击的通用方法:php防sql注入和xss攻击通用过滤如下:function string_remove_xss($html) {preg_match_all("/\...
    99+
    2024-04-02
  • 前端如何防止xss和sql注入
    前端防止xss和sql注入的方法:使用php语言进行预防xss和sql注入,代码如下:function string_remove_xss($html) {preg_match_all("/\...
    99+
    2024-04-02
  • oracle如何防止sql注入
    oracle防止sql注入的方法:oracle中的DBMS_ASSERT包中包含了相关的函数,将传入的参数进行检查,若不符合相关规则,那sql语句执行会报错,从而达到防止sql注入的风险,例如:ENQUOTE_LITERAL:输入字符串,并...
    99+
    2024-04-02
  • nodejs如何防止sql注入
    nodejs防止sql注入的方法:使用escape()对传入参数进行编码,例如:var userId = 1, name = 'test';var query = connection.query('SELECT * FROM us...
    99+
    2024-04-02
  • spring如何防止sql注入
    spring防止sql注入的方法:可以通过编写一个webFilter过滤器来防止sql注入,例如:@Component@WebFilter(urlPatterns = ")|" +"(\\b(select|update|and|or|del...
    99+
    2024-04-02
  • tp5如何防止sql注入
    tp5防止sql注入的方法:在application/config.php中设置全局的过滤规则,如:// 默认全局过滤方法 用逗号分隔多个'default_filter' => 'htmlspecialchars,addslashes,st...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作