下午好,

我对CodeIgniter的安全性有一些疑问,首先是:

我有一个控制器:news.php,其中有一个名为view的方法

例:

class News extends CI_Controller{

public function view( $id )

{

$this->load->model('news_model');

$this->news_model->get_by_id( $id );

// ...

}

}

这种工作形式安全吗?没有URL注入SQL的风险?考虑到这个页面被访问,所以mywebpage / news / number_id.过滤intval()或不必要的过程会很有趣吗?

我的第二个问题是:

默认情况下,CodeIgniter xss过滤器可以发布和获取,但未知的是通过CodeIgniter过滤HTML的方法,我在CodeIgniter中创建了一个帮助器,有一些类似于本机CodeIgniter的方法吗?

function remove_xss_html($string){

if( is_array( $string ) ){

$return_array = array();

foreach( $string as $item )

{

if(!get_magic_quotes_gpc())

{

$return_array[] = addslashes( htmlspecialchars( strip_tags( $item ) ) );

}

else

{

$return_array[] = htmlspecialchars( strip_tags( $item ) );

}

}

return $return_array;

}

else

{

return htmlspecialchars( strip_tags( $string ) );

}

}

第三个也是最后一个问题是:

如果我发送变量$this->输入 – &GT post(‘my_var’)直接到没有过滤器的数据库,我运行sql注入的风险? CodeIgniter或过滤器如此安全?

IMPORTANTE:我的英语不是很好,我用google翻译并修复了我的能力.

谢谢你们 …

解决方法:

如果您使用Active Record类进行数据库交互,则数据将自动转义:

Beyond simplicity, a major benefit to using the Active Record features is that it allows you to create database independent applications, since the query syntax is generated by each database adapter. It also allows for safer queries, since the values are escaped automatically by the system.

如果没有,并且您手动运行查询,则需要自行转义.

关于你的功能的一些建议:

public function view( $id )

{

$this->load->model('news_model');

$this->news_model->get_by_id( $id );

// ...

}

如果URL中不存在$id,您将收到错误通知.设置默认值:

public function view( $id = NULL )

然后检查控制器中的值.例:

if ( ! $id)

{

redirect('somwhere/else');

}

另外,确保在继续之前得到结果(如果没有找到记录,我假设你的模型在这里返回false):

$record = $this->news_model->get_by_id( $id );

if ( ! $record) // redirect with error message or something

您可以根据需要验证$ids类型或完整性,但为了简单起见,我只是将其传递给模型,如果没有找到记录则返回false.

标签:php,sql-injection,codeigniter

来源: https://codeday.me/bug/20190530/1186409.html

php codeigniter安全,php – codeigniter中的安全性相关推荐

  1. 如何在微服务架构中实现安全性?

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者 | Chris Richardson 网络安全已成为每个企业都面临的关键问题.几乎每天都有 ...

  2. Android4.2.2中对安全性的改进

    2013-03-13 移动 JellyBean 安全 Android 4.2.2中对安全性的改进 Android 4.2 Jelly Bean最近发布了更新,通过加入附加特性来增强应用程序的安全性.它 ...

  3. 基于EEG的脑机接口中的安全性问题

    目录 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 电子设备被攻击会带来非常严重的安全问题,尤其是医疗领域.当前的很多BCI设备应用于医疗领域.所以基于E ...

  4. 数据在云服务器中的安全性不会降低的原因

    出于安全性的考虑,许多企业的 CIO(首席信息官)对业务迁移到云服务器犹豫不决.如今,超过 70% 的企业和组织的在线业务都部署在云服务器中.云服务器不如传统服务器安全的说法,源于这样一种想法,即将数 ...

  5. TNF抑制剂在10例新近起病的难治性反应性关节炎患者中的安全性与疗效

    原文 译文 Safety and efficacy of anti-TNF alpha therapy in ten patients with recent-onset refractory rea ...

  6. 美国主机网站建设中的安全性和隐私保护措施

    随着互联网的迅猛发展,越来越多的企业和个人选择在网上建立自己的网站.而对于选择美国主机的用户来说,网站的安全性和隐私保护是非常重要的考虑因素之一.在美国主机网站建设中,有一系列的安全性和隐私保护措施被 ...

  7. 网站如何经过身份验证_如何在微服务架构中实现安全性?

    首先为自己打个广告,我目前在某互联网公司做架构师,已经有5年经验,每天都会写架构师系列的文章,感兴趣的朋友可以关注我和我一起探讨,同时需要架构师资料的可以私信我免费送 作者 | Chris Richa ...

  8. php accesscontrolalloworigin,php – Access-Control-Allow-Origin没有显示在codeigniter的响应头中...

    我的Codeigniter文件说 $CI->output->set_header("Access-Control-Allow-Origin: *"); $CI-> ...

  9. wamp中的index.php,codeigniter – 如何删除Wamp中的index.php?

    请尝试以下方法: 1)与应用程序文件夹并行创建.htaccess文件,只需复制粘贴以下代码: RewriteEngine On RewriteBase /CodeIgniter/ RewriteCon ...

最新文章

  1. mysql 匹配 findinset
  2. 干掉Navicat:这个IDEA的兄弟真香!
  3. JUnit报initializationError的解决方法
  4. scrapy爬虫系列之三--爬取图片保存到本地
  5. 是vans_Vans 的旧海报上原来有这么多学问…
  6. 我的技术心病(转贴)
  7. C#时间的味道——任时光匆匆我只在乎你
  8. linux 编程 调度,Linux的进程线程及调度
  9. 直指Adobe的龌龊行径
  10. Android开发学习之路-带文字的图片分享
  11. 自然语言生成之n-gram
  12. [noip2016]天天爱跑步
  13. git 修改远端 commit 信息
  14. python编程计算器_Python3-用Python编写计算器的3种方法
  15. 青少年网络成瘾家长怎么办
  16. SQL:DQL,DCL
  17. Git 处理tag和branch的命令
  18. docker中 gitlab 安装、配置和初始化
  19. Folding@Home 常见问题解答
  20. macOS安装Cplex+yalmip

热门文章

  1. Python基础学习教程:如何用Python来写pm2.5空气质量查询程序
  2. AtCoder Beginner Contest 264 G.String Fair(最短路/暴力dp 补写法)
  3. Swift:我的第三个Demo
  4. Dapr中国社区活动之 分布式运行时开发者日 (2022.09.03)
  5. 天津市谷歌高清卫星地图下载
  6. 高中数学,数列典型例题(实用干货)
  7. 第四单元 用python学习微积分(二十四)三角函数的积分以及三角替换
  8. 一文带你批量爬取某马拉雅音频数据并保存到本地~
  9. 动态口令设计系列一:基于共享密钥的动态口令方案
  10. 高速采集卡超宽带高速记录回放系统