国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Node.js + Mysql 防止sql注入的寫法

這篇具有很好參考價值的文章主要介紹了Node.js + Mysql 防止sql注入的寫法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

關(guān)鍵代碼

    const queryString = 'SELECT * FROM sys_user LIMIT ?, ?';
    let data =  await query(queryString, [startIndex,pageSize]); 

訪問數(shù)據(jù)庫相關(guān)代碼

const mysql = require('mysql')

const pool = mysql.createPool({
    host: '127.0.0.1',
    user: 'root',
    password: '123456',
    database: 'lzwj_data',
    port: 3306
})


function camelCaseKeys(obj) {
    const result = {};
    for (let key in obj) {
        let newKey = key[0].toLowerCase() + key.slice(1).replace(/_([a-z])/g, function($0,$1){return $1.toUpperCase();});
        result[newKey] = obj[key];
    }
    return result;
}


let query = function( sql, values ) {
  // 返回一個 Promise
  return new Promise(( resolve, reject ) => {
    pool.getConnection(function(err, connection) {
      if (err) {
        reject( err )
      } else {
        connection.query(sql, values, ( err, rows) => {
          if ( err ) {
            reject( err )
          } else {
            rows = rows.map(item => camelCaseKeys(item));
            resolve( rows )
          }
          // 結(jié)束會話
          connection.release()
        })
      }
    })
  })
}


module.exports =  query

一個分頁查詢?nèi)藛T信息的完整代碼,查詢語句實現(xiàn)了防止sql注入文章來源地址http://www.zghlxwxcb.cn/news/detail-794208.html

router.get('/api/user/page', async (req, res) => {

    let pageNo = req.query.pageNo;
    let pageSize = sysUtils.strToInt(req.query.pageSize);
    const startIndex = sysUtils.strToInt((pageNo - 1) * pageSize);
    const queryString = 'SELECT * FROM sys_user LIMIT ?, ?';
    let data =  await query(queryString, [startIndex,pageSize]); 
    const countSql = 'select count(*) count from sys_user'
    let countData =  await query(countSql); 
    let count = sysUtils.strToInt(countData[0].count);

    let pageData = {
        total : count,   
        pages : sysUtils.pageCount(count,pageSize),
        records : data
    }

    res.send({
        status: 200,
        success : true,
        message: '',
        data: pageData,
    })
})

到了這里,關(guān)于Node.js + Mysql 防止sql注入的寫法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Node.js: express + MySQL + Vue實現(xiàn)圖片上傳

    Node.js: express + MySQL + Vue實現(xiàn)圖片上傳

    ? ? ? ? 前段時間用Node.js: express + MySQL + Vue + element組件做了一個小項目,記錄一下圖片上傳的實現(xiàn)。 ? ? ? ? 將圖片存入數(shù)據(jù)庫有兩種方法: ? ? ? ? ? ? ? ? 1,將圖片以二進制流的方式存入數(shù)據(jù)庫(數(shù)據(jù)庫搬家容易,比較安全,但數(shù)據(jù)庫空間的消耗大,訪問會比較緩慢)

    2024年02月07日
    瀏覽(35)
  • MySQL 安全及防止 SQL 注入攻擊

    如果通過網(wǎng)頁獲取用戶輸入的數(shù)據(jù)并將其插入? MySQL ?數(shù)據(jù)庫,那么就有可能發(fā)生? SQL 注入攻擊的安全問題 作為研發(fā),有一條鐵律需要記住,那就是 永遠不要相信用戶的數(shù)據(jù),哪怕他一再承諾是安全的 SQL ?注入,就是通過把? SQL ?命令插入到? Web ?表單遞交或輸入域名或頁

    2024年02月02日
    瀏覽(41)
  • Python MySQL 數(shù)據(jù)庫查詢:選擇數(shù)據(jù)、使用篩選條件、防止 SQL 注入

    Python MySQL 數(shù)據(jù)庫查詢:選擇數(shù)據(jù)、使用篩選條件、防止 SQL 注入

    要從MySQL中的表格中選擇數(shù)據(jù),請使用\\\"SELECT\\\"語句: 示例選擇\\\"customers\\\"表格中的所有記錄,并顯示結(jié)果: 注意 :我們使用 fetchall() 方法,該方法從上次執(zhí)行的語句中獲取所有行。 要僅選擇表格中的某些列,請使用\\\"SELECT\\\"語句,后跟列名: 示例僅選擇name和address列: 如果您只對

    2024年02月05日
    瀏覽(115)
  • 【Node.js實戰(zhàn)】一文帶你開發(fā)博客項目之安全(sql注入、xss攻擊、md5加密算法)

    【Node.js實戰(zhàn)】一文帶你開發(fā)博客項目之安全(sql注入、xss攻擊、md5加密算法)

    個人簡介 ?? 個人主頁: 前端雜貨鋪 ???♂? 學(xué)習(xí)方向: 主攻前端方向,也會涉及到服務(wù)端 ?? 個人狀態(tài): 在校大學(xué)生一枚,已拿多個前端 offer(秋招) ?? 未來打算: 為中國的工業(yè)軟件事業(yè)效力n年 ?? 推薦學(xué)習(xí):??前端面試寶典 ??Vue2 ??Vue3 ??Vue2Vue3項目實戰(zhàn) ??

    2024年02月03日
    瀏覽(26)
  • node.js中Express簡介

    node.js中Express簡介

    1.什么是Express 官方給出的概念:Express是基于Node.js平臺,快速、開放、極簡的web開發(fā)框架。 通俗理解:Express的作用和Node.js內(nèi)置的http模塊類似,是 專門用來創(chuàng)建web服務(wù)器的 Express的本質(zhì):就是一個npm上的第三方包,提供了快速創(chuàng)建Web服務(wù)器的便捷方法 2.進一步理解Express htt

    2024年02月08日
    瀏覽(28)
  • 09-Node.js—express框架

    09-Node.js—express框架

    express 是一個基于 Node.js 平臺的極簡、靈活的 WEB應(yīng)用開發(fā)框架,官方網(wǎng)址:https://www.expressjs.com.cn/ 簡單來說,express 是一個封裝好的工具包,封裝了很多功能,便于我們開發(fā) WEB 應(yīng)用(HTTP 服務(wù)) 大家都應(yīng)該玩過我的世界,在我的世界中如果純靠手去砍樹或者挖礦,效率是很低

    2023年04月26日
    瀏覽(27)
  • Node.js 連接 mysql 數(shù)據(jù)庫

    目錄 一、安裝驅(qū)動 二、連接數(shù)據(jù)庫 1、數(shù)據(jù)庫連接的配置信息 數(shù)據(jù)庫連接參數(shù)說明 2、封裝 mysql 的執(zhí)行語句 3、后端路由文件? 三、數(shù)據(jù)庫操作( CURD ) 1、查詢數(shù)據(jù) 2、插入數(shù)據(jù) 3、更新數(shù)據(jù) 4、刪除數(shù)據(jù) 4、獲取受影響的行數(shù) 5、獲取更改的行數(shù) 6、多語句查詢 7、事務(wù) 四、E

    2024年02月07日
    瀏覽(23)
  • “Node.js:操作mysql數(shù)據(jù)庫“

    Node.js中操作mysql數(shù)據(jù)庫 ? mysql模塊 是托管于npm的第三方模塊,它提供了Node.js項目中 連接 和 操作mysql數(shù)據(jù)庫 的能力。 在項目中操作數(shù)據(jù)庫的步驟 (1).安裝mysql數(shù)據(jù)庫的第三方模塊(mysql) (2).通過mysql模塊連接到mysql數(shù)據(jù)庫 (3).通過mysql模塊執(zhí)行sql語句 1.操作mysql數(shù)據(jù)庫 db.query() 用來

    2024年02月05日
    瀏覽(24)
  • Node.js之express框架學(xué)習(xí)心得

    Node.js之express框架學(xué)習(xí)心得

    Node.js是基于Chrome V8引擎構(gòu)建的JavaScript運行時,它采用了完全不同的開發(fā)模型。Node.js使用事件驅(qū)動和非阻塞I/O的方式處理請求,通過單線程和異步機制,實現(xiàn)高效的并發(fā)處理。這意味著在Node.js中,一個線程可以處理數(shù)千個并發(fā)連接,大大提高了服務(wù)器的性能和可伸縮性。 4

    2024年02月14日
    瀏覽(35)
  • Node.js寫接口連接MySQL數(shù)據(jù)庫

    1.新建app.js粘貼以下代碼 2.npm init 初始化 3.npm i 安裝依賴 4.npm i mysql 5.npm i express 6. node app.js 啟動接口

    2024年02月15日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包