«sql-injection» 태그된 질문

SQL 인젝션은 데이터 기반 애플리케이션을 공격하는 데 사용되는 코드 인젝션 기법으로, 악성 SQL 문이 실행을 위해 입력 필드에 삽입됩니다 (예 : 데이터베이스 콘텐츠를 공격자에게 덤프하기 위해).

28
PHP에서 SQL 삽입을 어떻게 방지 할 수 있습니까?
이 질문에 대한 답변은 지역 사회 노력 입니다. 이 게시물을 개선하려면 기존 답변을 수정하십시오. 현재 새로운 답변이나 상호 작용을받지 않습니다. На этот вопрос есть ответы на 스택 오버플로 на русском : Каким образом избежать SQL-инъекций в PHP? 사용자 입력이 수정없이 SQL 쿼리에 삽입 되면 다음 예제와 같이 응용 프로그램이 SQL …



7
PDO 준비 명령문은 SQL 삽입을 방지하기에 충분합니까?
다음과 같은 코드가 있다고 가정 해 봅시다. $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); PDO 문서는 다음과 같이 말합니다. 준비된 명령문에 대한 매개 변수는 인용 할 필요가 없습니다. 운전자가 대신 처리합니다. 이것이 SQL 주입을 피하기 위해 정말로해야하는 전부입니까? …

4
mysql_real_escape_string ()을 둘러싼 SQL 주입
mysql_real_escape_string()함수를 사용할 때에도 SQL 삽입 가능성이 있습니까? 이 샘플 상황을 고려하십시오. SQL은 다음과 같이 PHP로 구성됩니다. $login = mysql_real_escape_string(GetFromPost('login')); $password = mysql_real_escape_string(GetFromPost('password')); $sql = "SELECT * FROM table WHERE login='$login' AND password='$password'"; 나는 많은 사람들이 그런 코드가 여전히 위험하고 mysql_real_escape_string()사용 된 기능으로 도 해킹 할 수 있다고 말합니다 . 그러나 …

9
준비된 명령문이 SQL 삽입 공격으로부터 어떻게 보호 할 수 있습니까?
준비된 명령문 은 SQL 주입 공격을 방지하는 데 어떻게 도움이 됩니까? 위키피디아의 말 : 준비된 명령문은 나중에 다른 프로토콜을 사용하여 전송되는 매개 변수 값이 올바르게 이스케이프 될 필요가 없으므로 SQL 삽입에 대해 복원력이 뛰어납니다. 원래 명령문 템플리트가 외부 입력에서 파생되지 않은 경우 SQL 삽입이 발생할 수 없습니다. 이유를 잘 알 …

12
Java-SQL 삽입을 방지하는 이스케이프 문자열
자바에서 안티 SQL 주입을 시도하고 있는데 "replaceAll"문자열 함수로 작업하기가 매우 어렵다는 것을 알게되었습니다. 궁극적으로 내가 기존 변환하는 기능을 필요 \에 \\있는, "에 \", 어떤 '대상을 \', 어떤 \n에 \\n너무 문자열이 MySQL의 SQL 주입에 의해 평가 될 때이 차단됩니다. 내가 일하고있는 코드를 훔 쳤고 \\\\\\\\\\\함수의 모든 것이 내 눈을 멀게합니다. 누구든지 …

18
작은 따옴표와 주변 따옴표를 작은 따옴표로 이스케이프 처리하여 SQL 삽입으로부터 보호 할 수 있습니까?
매개 변수가있는 SQL 쿼리가 사용자 입력이 포함 된 쿼리를 작성할 때 사용자 입력을 소독하는 가장 좋은 방법이라는 것을 알고 있지만 사용자 입력을 가져 와서 작은 따옴표를 이스케이프 처리하고 전체 문자열을 작은 따옴표로 묶는 것이 어떤 문제인지 궁금합니다. 코드는 다음과 같습니다. sSanitizedInput = "'" & Replace(sInput, "'", "''") & "'" 사용자가 …


6
htmlspecialchars와 mysql_real_escape_string은 PHP 코드를 주입으로부터 안전하게 보호합니까?
오늘 초 웹 앱의 입력 유효성 검사 전략에 대한 질문이있었습니다 . 상단의 대답은, 작성시에 제시 PHP단지 사용 htmlspecialchars하고 mysql_real_escape_string. 제 질문은 이것이 항상 충분합니까? 우리가 알아야 할 것이 더 있습니까? 이러한 기능은 어디에서 분해됩니까?

7
SQL 문에서 항상 매개 변수를 사용하는 것을 선호하는 이유는 무엇입니까?
저는 데이터베이스 작업에 매우 익숙합니다. 지금은 쓸 수 SELECT, UPDATE, DELETE, 및 INSERT명령. 그러나 나는 우리가 쓰는 것을 선호하는 많은 포럼을 보았습니다. SELECT empSalary from employee where salary = @salary ...대신에: SELECT empSalary from employee where salary = txtSalary.Text 왜 우리는 항상 매개 변수를 선호하며 어떻게 사용합니까? 첫 번째 방법의 …

12
매개 변수가 문자열이 아닌 경우 SQL 쿼리를 매개 변수화하지 않는 것이 안전합니까?
SQL 주입 측면 에서 매개 변수를 매개 변수화해야하는 필요성을 완전히 이해합니다 string. 그것은 책에서 가장 오래된 속임수 중 하나입니다. 그러나 매개 변수화 하지 않는 것이 언제 정당화 될 수 SqlCommand있습니까? 매개 변수화하지 않는 "안전한"데이터 유형이 있습니까? 예를 들면 : 난 아무데도 자신을 생각하지 않는다 근처 SQL 전문가,하지만 난 받아 SQL …

21
매개 변수없이 SQL 주입 방지
여기서는 코드에서 매개 변수화 된 SQL 쿼리를 사용하는 방법에 대해 또 다른 논의를하고 있습니다. 토론에는 두 가지 측면이 있습니다. 나와 다른 사람들은 항상 매개 변수를 사용하여 SQL 주입으로부터 보호해야한다고 말하는 사람과 필요하다고 생각하지 않는 다른 사람을 말합니다. 대신 SQL 삽입을 피하기 위해 모든 문자열에서 단일 아포스트로피를 두 개의 아포스트로피로 바꾸려고합니다. …

11
드롭 다운을 사용하는 경우 SQL 주입을 방지해야합니까?
주로 SQL 삽입의 기회로 인해 양식의 사용자 입력을 신뢰해서는 안된다는 것을 이해합니다. 그러나 이것은 드롭 다운에서 유일한 입력 인 양식에도 적용됩니까 (아래 참조)? 나는 $_POST['size']세션에 저장하고 있으며, 사이트 전체에서 다양한 데이터베이스 ( mysqli선택 쿼리 사용) 를 쿼리하는 데 사용되며 모든 SQL 주입은 확실히 해를 끼칠 것입니다 (아마도 삭제). 데이터베이스를 쿼리하기위한 …

5
Node.js에서 SQL 주입 방지
PHP가이를 방지하는 Prepared Statements를 가지고있는 것과 같은 방식으로 Node.js (가급적 모듈 사용)에서 SQL 주입을 방지 할 수 있습니까? 그렇다면 어떻게? 그렇지 않은 경우 내가 제공 한 코드를 우회 할 수 있는 몇 가지 예는 무엇입니까 (아래 참조). 일부 컨텍스트 : node-mysql 모듈을 사용하여 Node.js + MySql로 구성된 백엔드 스택으로 웹 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.