저는 주입 공격을 막기 위해 데이터를 살균하는 가장 좋은 방법에 대해 생각하고 있습니다. 어떤 사람들은 결과를 출력하기 직전이나 데이터베이스에 삽입하기 직전에 위생 처리를하고 싶지만 ... 이것으로 보는 문제는 두 가지입니다. (1) 매개 변수/변수를 놓친다면 어떨까요? (2) 만약 당신이 over-sanitizing이라면? 그것이 결과물을 손상시킬 수는 없지만 이미 알고있는 물건들을 위생적으로 말하는 것은별로 안전하지 않습니다.GET 및 POST 데이터 만 살균하는 경우 주사로부터 안전합니까?
예를 들어, PHP 대신 $_GET
및 $_POST
을 사용하여 내가 좋아하는 뭔가 그 래핑 없습니다 :
function get($var) {
return my_sanitizer($_GET[$var]);
}
을하거나 충분하지 않을까요? 악의적 인 코드가 어디에서 몰래 빠져 나갈 수 있습니까?
아래 답변을 읽은 후이 질문은 약간 어리 석다는 것을 알고 있습니다. 그것은 데이터베이스에 삽입하거나 HTML을 출력하는지에 달려 있습니다. 이 경우 아마도 사용하기 바로 전에 은입니다. 그래도 괜찮아요. 출력 방법을 너무 쉽게 감쌀 수 있습니다 ...
오른쪽. 내 머리가 오른쪽으로 밀려서는 안된다 : 나는 여러 종류의 주사가 있다는 것을 알고있다. 그러나 무엇인가의 이유 때문에 나는 모든 경우에 트릭을 할 것이라고 생각했다. 당신은 그 데이터로하고 있습니다. – mpen