본문 바로가기
Study/php

[PHP] SQL인젝션과 mysqli bind_param

by 오늘만 사는 여자 2022. 2. 14.
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
반응형

댓글