pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    1. <i id='X5W2D'><tr id='X5W2D'><dt id='X5W2D'><q id='X5W2D'><span id='X5W2D'><b id='X5W2D'><form id='X5W2D'><ins id='X5W2D'></ins><ul id='X5W2D'></ul><sub id='X5W2D'></sub></form><legend id='X5W2D'></legend><bdo id='X5W2D'><pre id='X5W2D'><center id='X5W2D'></center></pre></bdo></b><th id='X5W2D'></th></span></q></dt></tr></i><div class="32jb2ya" id='X5W2D'><tfoot id='X5W2D'></tfoot><dl id='X5W2D'><fieldset id='X5W2D'></fieldset></dl></div>
      1. <legend id='X5W2D'><style id='X5W2D'><dir id='X5W2D'><q id='X5W2D'></q></dir></style></legend>
      2. <tfoot id='X5W2D'></tfoot>

        <small id='X5W2D'></small><noframes id='X5W2D'>

          <bdo id='X5W2D'></bdo><ul id='X5W2D'></ul>

        如果我使用 MySQLi 準備好的語句,是否需要轉義我

        Do I need to escape my variables if I use MySQLi prepared statements?(如果我使用 MySQLi 準備好的語句,是否需要轉義我的變量?)
            <tbody id='KsK7l'></tbody>

          <tfoot id='KsK7l'></tfoot>

          <legend id='KsK7l'><style id='KsK7l'><dir id='KsK7l'><q id='KsK7l'></q></dir></style></legend>

            <bdo id='KsK7l'></bdo><ul id='KsK7l'></ul>

                <small id='KsK7l'></small><noframes id='KsK7l'>

              • <i id='KsK7l'><tr id='KsK7l'><dt id='KsK7l'><q id='KsK7l'><span id='KsK7l'><b id='KsK7l'><form id='KsK7l'><ins id='KsK7l'></ins><ul id='KsK7l'></ul><sub id='KsK7l'></sub></form><legend id='KsK7l'></legend><bdo id='KsK7l'><pre id='KsK7l'><center id='KsK7l'></center></pre></bdo></b><th id='KsK7l'></th></span></q></dt></tr></i><div class="agrikmz" id='KsK7l'><tfoot id='KsK7l'></tfoot><dl id='KsK7l'><fieldset id='KsK7l'></fieldset></dl></div>
                  本文介紹了如果我使用 MySQLi 準備好的語句,是否需要轉義我的變量?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  如果我使用 MySQLi 準備好的語句,如下所示:

                  If I use MySQLi prepared statements like below:

                  $stmt = $con1->prepare("UPDATE Login SET Session='LoggedOut' where Session=?");
                  $stmt->bind_param('s',$Session);
                  $stmt->execute();
                  $stmt->close();
                  

                  我是否仍然需要使用 mysqli_real_escape_string(); 轉義像 $Session 這樣的變量,如下所示:

                  Do I still need to escape my variables like $Session with mysqli_real_escape_string(); like below:

                  $Session = mysqli_real_escape_string($con1, $_COOKIE['Session']);
                  $stmt = $con1->prepare("UPDATE Login SET Session='LoggedOut' where Session=?");
                  $stmt->bind_param('s',$Session);
                  $stmt->execute();
                  $stmt->close();
                  

                  推薦答案

                  不,如果您在應用程序的任何地方都使用準備好的語句,那么您就可以避免 SQL 注入.然而,一個重要的陷阱"是二階注入攻擊,當某些查詢使用準備好的語句而其他查詢不使用時,就會發生這種情況.

                  No, if you use prepared statements everywhere in your application you are safe from SQL injection. However, an important "gotcha" is 2nd order injection attacks which happen when some queries use prepared statements and others don't.

                  根據 this 類似的回答關于 SO 的問題:

                  According to this answer of a similar question on SO:

                  準備好的語句/參數化查詢足以防止對該語句的一階注入.如果您在應用程序的任何其他地方使用未檢查的動態 sql,您仍然容易受到二階注入的影響.

                  prepared statements / parameterized queries are sufficient to prevent 1st order injection on that statement. If you use un-checked dynamic sql anywhere else in your application you are still vulnerable to 2nd order injection.

                  總而言之,準備好的語句在發送的數據和 SQL 查詢本身之間創建了分離,確保數據不會被誤解為 SQL 查詢.但是,攻擊者仍然可以將 SQL 作為數據輸入,并且如果您使用準備好的語句,雖然在第一次存儲它時不會執行它,但在檢索所述結果時仍然必須小心.準備好的語句在該特定位置保護您的應用程序,但由于仍允許將 SQL 存儲在數據庫中,如果您稍后在沒有參數化的情況下使用該數據,您的應用程序是不安全的.

                  In summary, prepared statements create a separation between the data being sent and the SQL query itself, ensuring that the data can not be misinterpreted as the SQL query. However, an attacker can still enter SQL as data, and although it will not be executed when it is first stored if you are using prepared statements, you must still use caution when retrieving said results. Prepared statements protect your application in that particular place, but because SQL is still allowed to be stored in the database, your application is unsafe if you're later using that data without parameterization.

                  這篇關于如果我使用 MySQLi 準備好的語句,是否需要轉義我的變量?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  store_result() and get_result() in mysql returns false(mysql 中的 store_result() 和 get_result() 返回 false)
                  Call to undefined function mysqli_result::num_rows()(調用未定義的函數 mysqli_result::num_rows())
                  PHP Prepared Statement Problems(PHP 準備好的語句問題)
                  mysqli_fetch_array returning only one result(mysqli_fetch_array 只返回一個結果)
                  PHP MySQLi Multiple Inserts(PHP MySQLi 多次插入)
                  How do I make sure that values from MySQL keep their type in PHP?(如何確保 MySQL 中的值在 PHP 中保持其類型?)

                  <tfoot id='OEMkz'></tfoot>
                    <i id='OEMkz'><tr id='OEMkz'><dt id='OEMkz'><q id='OEMkz'><span id='OEMkz'><b id='OEMkz'><form id='OEMkz'><ins id='OEMkz'></ins><ul id='OEMkz'></ul><sub id='OEMkz'></sub></form><legend id='OEMkz'></legend><bdo id='OEMkz'><pre id='OEMkz'><center id='OEMkz'></center></pre></bdo></b><th id='OEMkz'></th></span></q></dt></tr></i><div class="3ulvv23" id='OEMkz'><tfoot id='OEMkz'></tfoot><dl id='OEMkz'><fieldset id='OEMkz'></fieldset></dl></div>
                      <tbody id='OEMkz'></tbody>
                  1. <small id='OEMkz'></small><noframes id='OEMkz'>

                          <bdo id='OEMkz'></bdo><ul id='OEMkz'></ul>

                          <legend id='OEMkz'><style id='OEMkz'><dir id='OEMkz'><q id='OEMkz'></q></dir></style></legend>
                            主站蜘蛛池模板: 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | HEYL硬度计量泵-荧光法在线溶解氧仪-净时测控技术(上海)有限公司 | 无锡网站建设_小程序制作_网站设计公司_无锡网络公司_网站制作 | 广东护栏厂家-广州护栏网厂家-广东省安麦斯交通设施有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 大巴租车平台承接包车,通勤班车,巴士租赁业务 - 鸿鸣巴士 | 学习安徽网| 蜂蜜瓶-玻璃瓶-玻璃瓶厂-玻璃瓶生产厂家-徐州贵邦玻璃制品有限公司 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 高柔性拖链电缆-聚氨酯卷筒电缆-柔性屏蔽电缆厂家-玖泰电缆 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | CPSE安博会| 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 免费B2B信息推广发布平台 - 推发网 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 蜜蜂职场文库_职场求职面试实用的范文资料大全 | 中细软知识产权_专业知识产权解决方案提供商 | 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 电销卡_北京电销卡_包月电话卡-豪付网络 | 荣事达手推洗地机_洗地机厂家_驾驶式扫地机_工业清洁设备 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 合肥风管加工厂-安徽螺旋/不锈钢风管-通风管道加工厂家-安徽风之范 | 合金耐磨锤头_破碎机锤头_郑州市德勤建材有限公司 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 走心机厂家,数控走心机-台州博城智能科技有限公司 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 |