php mysql 쿼리 질문이요
CMS/프레임워크 | 사용안함 |
---|---|
개발 언어 | PHP 7.2 |
DB 쿼리 실행하는 함수를
function sql_query($sql) {
global $mysqli;
$result = $mysqli->query($sql);
return $result;
}
function sql_get_row($sql) {
global $mysqli;
$query = $mysqli->query($sql);
$result = $query->fetch_array(MYSQLI_ASSOC);
return $result;
}
function sql_get_value($sql) {
global $mysqli;
$query = $mysqli->query($sql);
$result = $query->fetch_array(MYSQLI_NUM);
return $result[0];
}
이렇게 짜봤거든요
$_POST 같은 곳에서는 htmlspecialchars 로 감쌀 것입니다.
이래도 위험한가요
xe 라이믹스 수정하는거 아니고요 개인적인 블로그 만들 생각입니다.
고수님들 답변 부탁드려요
댓글 5
네, htmlspecialchars는 XSS 공격을 막기 위한 함수이지 SQL 인젝션 공격을 막기 위한 함수가 아닙니다. 쿼리를 손으로 짜서 넣는 습관을 도저히 버릴 수 없다면 PDO를 사용한 prepared statement 사용법을 알아보세요.
그럼 addslashes 함수는 어떤가요
서버 환경에 영향을 많이 받지만, 일반적으로 addslashes는 안전하지 않다고 10여년 전부터 알려져 있습니다.