728x90
반응형
mysqli에는 prepare와 쿼리 파라미터를 바인딩하는 기능이 있습니다.
mysqli_stmt::bind_param 함수를 이용하여 바꾸면
$query = $dbConnect->prepare('insert into parktable (total,big,mid,small,date) values (?, ?, ?, ?, ?)');
$query->bind_param('iiiis', $total, $big, $md, $sm, $today);
$query->execute();
파라미터 자리에 ? 를 두고
bind_param에 변수의 타입을 정합니다.. i는 int, s 는 string , b는 blob 과 패킷 , d 는 double 입니다.
바인딩함으로서 다른 문자열이 들어와도 쿼리의 일부가아닌 문자열이나 타입에 맞는 값으로 취급되서
인젝션 공격을 막을 수가 있습니다.
출처: https://varietn.tistory.com/entry/php-sql-인젝션과-mysqli-bindparam [여러 공간들]
728x90
반응형
'Study > php' 카테고리의 다른 글
[PHP] -> 와 =>의 차이점 (0) | 2022.03.08 |
---|---|
[PHP] 변수 설정 여부 확인 (isset 함수) (0) | 2022.02.14 |
PHP UNIQID — 고유 ID 생성 (0) | 2022.02.11 |
[PHP] ini_set() 함수 (0) | 2022.02.10 |
[PHP] 날짜 함수 사용하기 - date, strtotime, mktime (0) | 2022.02.10 |
댓글