>source

여기에 node.js code가 있습니다.

app.get('/cat', function (req, res) {
console.log(req.query.id);
let catID= req.query.id;
res.render('category',{});
con.query(
  'SELECT * FROM category WHERE id= '+catID,
  function (error, result) {
    if(error) throw err;
    console.log(JSON.parse(JSON.stringify(result)));
  });
});

이것은 무엇인가와 그것을 고치는 방법을 모른다.

if (error) 오류 *를 던지면?

procoib2021-09-14 19:39:05

a) 변수 이름에 오타가 있습니다. b) 비동기 콜백에서 비동기 콜백에서 던지는 대신 오류를 처리해야합니다 (노드 js 충돌) c) 첫 번째 장소에서 오류가 발생하지 않도록합니다 d) SQL 주입을 해결하고 매개 변수화 된 쿼리를 대신 사용하십시오.

Bergi2021-09-14 19:42:55
  • 답변 # 1

    수신 중입니다오류그러나 던지려고 노력하고 있습니다오류...에 아래 code를 사용하십시오.

    app.get('/cat', function (req, res) {
    console.log(req.query.id);
    let catID= req.query.id;
    res.render('category',{});
    con.query(
      'SELECT * FROM category WHERE id= '+catID,
      function (error, result) {
        if(error) throw error;
        console.log(JSON.parse(JSON.stringify(result)));
      });
    });
    

    면책 조항 : DB 쿼리에 쿼리 매개 변수를 추가하는 대신 매개 변수화 된 쿼리를 사용하십시오. 현재 code로 인해 SQL 주입 위협이 발생합니다.

    아니요, 해당 code를 사용하지 마십시오. 그것은 여전히 ​​여러 가지 문제가 있습니다.

    Bergi2021-09-14 19:43:18

    @bergi 나는 문제로 제기 된 문제를 지적하려고 노력했다. 이는 완료되어야합니다. 매개 변수화 된 쿼리와 모두에 관심이 있지 않습니다.

    Developer2021-09-14 19:45:26

    여전히 그러한 명시 보안 문제가있는 경우 "아래 code 사용"을 권장하지 마십시오. 적어도 한 가지 문제 만 해결 한 면책 조항에서 언급하십시오.

    Bergi2021-09-14 19:47:37

    @bergi는 굵게 완성되었습니다 :). 지금 다운로드를 제거 할 수 있습니다 : P.

    Developer2021-09-14 19:52:22

    감사 해요! 이제는 오타로 질문을 닫으려면 플래그를 던지는 것을 잊지 마십시오. D

    Bergi2021-09-14 19:54:50
  • 이전 python : PandaS CSV 파일에서 이중 백 슬래시를 교체하십시오
  • 다음 java : Maven을 사용하여 JAR의 "meta-inf /services"폴더에 구성 파일을 포함하는 방법