本文分析了CI框架的安全性。分享给大家供大家参考,具体如下:
用过ci框架的人都知道,ci框架能大大缩短你的代码。其实,ci框架更能提高你网站的安全性。
防止对数据库的攻击
数据输入可能引发许多问题。因为 HTML 和数据库的限制,数据中总包含特定的符号—举例来说,省略符号和引号—可能导致你的数据库遭到攻击,最终得到你无法预料的结果。
解决方案是在把这些数据存入数据库前对这些数据进行相关处理。这样做会浪费一些系统时间,增加一些额外编码。
CI 的表单辅助函数会自动地完成这些工作。因此,当你编写一个输入框时:
echo form_input(\'username\', \'johndoe\');
CI 也隐式地执行下列校验函数:
function form_prep($str = \'\') { if ($str === \'\') { return \'\'; } $temp = \'__TEMP_AMPERSANDS__\'; // Replace entities to temporary markers so that // htmlspecialchars won\'t mess them up $str = preg_replace(\"/&#(\\d+);/\", \"$temp\\\\1;\", $str); $str = preg_replace(\"/&(\\w+);/\", \"$temp\\\\1;\", $str); $str = htmlspecialchars($str); // In case htmlspecialchars misses these. $str = str_replace(array(\"\'\", \'\"\'), array(\"\'\", \"\"\"), $str); // Decode the temp markers back to entities $str = preg_replace(\"/$temp(\\d+);/\",\"&#\\\\1;\",$str); $str = preg_replace(\"/$temp(\\w+);/\",\"&\\\\1;\",$str); return $str; } </pre> </div> <p>上述函数捕获像“&”这样的特殊字符,以便在你的页面提交时不会造成混乱。你应该知道,有些字符会引起问题。</p> <p>并不是所有的用户都会中规中矩的输入符合要求的信息,你也不可能知道使用浏览器输入信息的是什么人,他们在想什么,做什么。你可以使用 CI 来防止输入不符合要求的信息。当然,你大可不必知道 CI 是如何在幕后为你做到这一切的,你只需要简单地输入如下代码:</p> <div class=\"phpstudycode\"> <pre class=\"brush:php;\"> echo form_input(\'username\', \'johndoe\'); </pre> </div> <p>更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》</p> <p>希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。</p> </div> </section> <section class=\"xgwz\"> <b>【热门文章】</b> <ul> <li><a href=\"/b.php/109656.html\">PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法</a></li><li><a href=\"/b.php/109657.html\">PHP框架Laravel插件Pagination实现自定义分页</a></li><li><a href=\"/b.php/109658.html\">使用jQuery监听DOM元素大小变化</a></li><li><a href=\"/b.php/109659.html\">使用jQueryMobile实现滑动翻页效果的方法</a></li><li><a href=\"/b.php/109660.html\">HTML5制作酷炫音频播放器插件图文教程</a></li><li><a href=\"/b.php/109661.html\">Windows Server 2008如何设置自动获取ip?设置自动获取ip教程</a></li><li><a href=\"/b.php/109662.html\">jquery实现的省市区三级联动</a></li><li><a href=\"/b.php/109663.html\">浅谈java线程中生产者与消费者的问题</a></li><li><a href=\"/b.php/109664.html\">整理JavaScript对DOM中各种类型的元素的常用操作</a></li><li><a href=\"/b.php/109665.html\">PHP内存使用情况如何获取</a></li><li><a href=\"/b.php/109666.html\">JavaScript中setUTCMilliseconds()方法的使用详解</a></li><li><a href=\"/b.php/109667.html\">PHP翻页跳转功能实现方法</a></li><li><a href=\"/b.php/109668.html\">jQuery实现带水平滑杆的焦点图动画插件</a></li><li><a href=\"/b.php/109669.html\">iOS中的音频服务和音频AVAudioPlayer音频播放器使用指南</a></li><li><a href=\"/b.php/109670.html\">win10中日历怎么设置成黑色主题?</a></li><li><a href=\"/b.php/109671.html\">MySQL基于SSL协议进行主从复制的详细操作教程</a></li><li><a href=\"/b.php/109672.html\">PHP文件操作之获取目录下文件与计算相对路径的方法</a></li><li><a href=\"/b.php/109673.html\">在PHP中运行Linux命令并启动SSH服务的例子</a></li><li><a href=\"/b.php/109674.html\">jquery+php实现滚动的数字特效</a></li><li><a href=\"/b.php/109675.html\">jquery对table中各数据的增加、保存、删除操作示例</a></li><li><a href=\"/b.php/109676.html\">JavaScript的React Web库的理念剖析及基础上手指南</a></li><li><a href=\"/b.php/109677.html\">Oracle ORA-22908(NULL表值的参考)异常分析与解决方法</a></li><li><a href=\"/b.php/109678.html\">jquery 遍历数组 each 方法详解</a></li><li><a href=\"/b.php/109679.html\">javascript继承的六大模式小结</a></li></ul> </section> <section class=\"xgwz\"> <b>【热门文章】</b> <ul> <li><a href=\"/c.php/77043.html\">iOS AFN 支持 ipv6吗</a></li><li><a href=\"/c.php/77044.html\">app engine都有那些?</a></li><li><a href=\"/c.php/77045.html\">如何让子函数的结果传给父函数</a></li><li><a href=\"/c.php/77046.html\">ASP 怎么使用七牛上传单个文件,</a></li><li><a href=\"/c.php/77047.html\">我想用canvas画圆周运动的点动画,但是js代码没有反映,请问问题在哪?</a></li><li><a href=\"/c.php/77048.html\">nginx 怎么开启支持http range下载的功能</a></li><li><a href=\"/c.php/77049.html\">在WEB移动端可以图片剪切的插件</a></li><li><a href=\"/c.php/77050.html\">PHP7发布了,但是如何编译呢?</a></li><li><a href=\"/c.php/77051.html\">用jquery插件实现滚动定位在ipad上出现屏幕闪烁抖动</a></li><li><a href=\"/c.php/77052.html\">windows下的curl工具好难用啊</a></li><li><a href=\"/c.php/77053.html\">求解答行高设置为0之后带来的问题</a></li><li><a href=\"/c.php/77054.html\">如何取不同手机浏览器的实际可用高度?</a></li><li><a href=\"/c.php/77055.html\">AFNetworking post到后端,数据怎么调用</a></li><li><a href=\"/c.php/77056.html\">七牛token无法获得?</a></li><li><a href=\"/c.php/77057.html\">ceph属于运维工程师负责还是研发工程师负责?</a></li><li><a href=\"/c.php/77058.html\">OAuth2是做什么的?</a></li><li><a href=\"/c.php/77059.html\">centos7中如何安装 php-fpm(nginx)</a></li><li><a href=\"/c.php/77060.html\">JS中for循环的变量i能否用于在for循环中定义的函数?</a></li><li><a href=\"/c.php/77061.html\">Android Studio装了不同版本的SDK,开发时选了最低2.2版本SDK,那studio推荐的只是2.2的属性吗?</a></li><li><a href=\"/c.php/77062.html\">获取微信公众号 的logo图片</a></li></ul> </section> <section class=\"cont pl\" id=\"comment\"><b></b> <div id=\"SOHUCS\" sid=\"art_104965\"></div> </section> <div class=\"search\"> <form action=\"http://zhannei.baidu.com/cse/search\" method=\"get\" target=\"_blank\" class=\"bdcs-search-form\" id=\"bdcs-search-form\"> <input name=\"s\" value=\"12351952642737355179\" type=\"hidden\"> <input name=\"entry\" value=\"1\" type=\"hidden\"> <input name=\"ie\" value=\"gbk\" type=\"hidden\"> <input name=\"nsid\" value=\"1\" type=\"hidden\"> <input type=\"text\" placeholder=\"请输入您感兴趣的关键字\" value=\"\" id=\"search_txt1\" maxlength=\"18\" class=\"search_txt\" name=\"q\"> <input class=\"search_btn\" value=\"搜 索\" type=\"submit\"> </form> </div> <nav class=\"nav-foot\"> <ul> <li><a href=\"/jiaotong/huoche/\">火车</a></li> <li><a href=\"/jiaotong/gaotie/\">高铁</a></li> <li><a href=\"/jiaotong/qiche/\">汽车</a></li> <li><a href=\"/jiaotong/gongjiao/\">公交</a></li> <li><a href=\"/jiaotong/zijia/\">自驾</a></li> <li><a href=\"/jiaotong/licheng/\">里程</a></li> <li> <a href=\"/jiaotong/jingdian/\">景点</a></li> <li><a href=\"/jiaotong/gonglue/\">攻略</a></li> <li><a href=\"/jiaotong/wen/\">问路</a></li> <li><a href=\"/\">计算机</a></li> </ul> <ul> <li><a href=\"/\">首页</a></li> <li><a href=\"/jiaotong/huoche/\">火车</a></li> <li><a href=\"/jiaotong/gaotie/\">高铁</a></li> <li><a href=\"/jiaotong/qiche/\">汽车</a></li> <li><a href=\"/jiaotong/gongjiao/\">公交</a></li> </ul> </nav> <footer class=\"footer-min\"> <div class=\"app\"> <a href=\"javascript:void(0)\" class=\"pc\">电脑版</a> - <a href=\"/\">返回首页</a></div> <div class=\"copyright\">Copyright ©2017 <a href=\"/\">交通频道</a> All Rights Reserved</div> </footer> <div class=\"clearfix\"></div> <div class=\"asd\"><span id=\"asd-footer\" class=\"jbTestPos\"><script>gx(4);</script></span></div> <script> var path_url=\"/b.php/107520.html\"; </script> <script type=\"text/javascript\" src=\"/img/jquery-1.10.2.min.js\"></script> <script type=\"text/javascript\" src=\"/img/menuclick.js\"></script> <br> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement(\"script\"); hm.src = \"https://hm.baidu.com/hm.js?4e18701aa680bab2e8eb968e32500cf0\"; var s = document.getElementsByTagName(\"script\")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> </body> </html>
本文地址:https://www.stayed.cn/item/21971
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我