분류 전체보기(14731)
-
MySql 사용 절차
MySql 사용 절차 Python에서 MySQL에 있는 데이타를 사용하는 일반적인 절차는 다음과 같습니다.
-
DML(INSERT, UPDATE, DELETE)
DML(INSERT, UPDATE, DELETE) · SQL에서 데이터를 조작하는 INSERT, UPDATE, DELETE 문을 DML(Data Manipulation Language)이라고 합니다. · DML문을 사용하는 방식은 다른 쿼리문을 사용하는 방식과 거의 비슷합니다. · INSERT, UPDATE, DELETE 문에서도 Parameterized Query를 사용할 수 있습니다. · DML은 리턴되는 데이터가 없으므로 fetch 구문을 사용하지 않습니다. DML쿼리 수행시 Autocommit 이 기본값이 아니기 때문에, execute() 로 DML 문장을 실행한 후에, Connection 객체의 commit() 메서드를 호출해야 합니다. conn = sqlite3.connect("test.db"..
-
? Placeholder
? Placeholder · SQL에 안에 사용된 ? (물음표)를 지정하여 동적으로 쿼리문이 수행될 수 있도록 하는 방법입니다. · SQL에 안에 사용된 ? (물음표)를 Placeholder라고 합니다. 이 Placeholder와 매칭되는 값을 설정해 주는 방식입니다. · 동적 SQL문을 구성하기 위해서는 파라미터값이 들어가는 위치에 Parameter Placeholder를 넣고, · execute() 메서드의 두번째 파라미터에 실제 값들이 저장되어 있는 Tuple 을 넣어 주면 됩니다. · Parameter Placeholder 에서는 문자열나 숫자 모두 ? (혹은 Named Placeholder) 를 사용하며, 문자열이라도 Placeholder 를 인용부호로 둘러싸지 않습니다. · Placeholde..
-
Parameterized Query 방식
Parameterized Query 방식 · ? Placeholder · Named Placeholder
-
SQL Injection 공격
SQL Injection 공격· ≒ SQL 삽입 공격· ≒ Improper Neutralization of Special Elements used in an SQL Command· 데이터베이스와 연동되어 있는 해당 어플리케이션에서 사용자로부터 전송되어 오는 입력 값을 조작하여 DBMS가 의도하지 않은 결과를 반환하도록 하는 공격기법으로, '입력 값 검증 부재' 로 인한 취약점 입니다. 이로 인해 DB의 정보가 외부에 노출될 수 있습니다. · 웹 애플리케이션과 데이터베이스간의 연동하는 부분(사용자 로그인 부분, 게시물 검색 부분, 자료실, 우편번호 검색 등)에 공격자가 작성한 임의의 SQL 명령어를 삽입할 수 있다는 취약점에서 시작된 공격 기법입니다.· URL의 파라미터 값 등으로 전송되는 문자열에 대해 ..
-
Parameterized Query
Parameterized Query· 실제 업무에서 대부분의 SQL 문장에는 동적으로 컬럼 데이타값을 집어 넣어야 하는 경우가 많은데, 이때 Parameterized Query 를 사용합니다.· Parameterized Query는 문자열 결합이나 문자열 Interpolation에서 발생할 수 있는 SQL Injection 보안 취약점을 해결할 수 있는 방법이기도 합니다.