
팁과노하우
SQL Injection, XSS 보안 강화하기
update 페이지를 직접 작성하시는 경우 그누보드 내장함수 조합으로
SQL Injection, XSS 공격을 방어할 수 있습니다.
보통 update.php 에서
$aaa = isset($_POST['aaa']) ? $_POST['aaa'] : '';
$sql = " UPDATE table_name SET aaa = '{$aaa}' WHERE bbb = '{$bbb}' ";
sql_query($sql);
이렇게 하기 마련인데, 이렇게되면 공격에 취약해질 수 있습니다.
사용자가 입력 > 저장이 가능한 input 에 스크립트 파일을 추가하는 내용을 입력해서 저장되게하고,
스크립트가 실행되면 쿠키 값이나 로컬 스토리지 및 세션 스토리지 등의 정보를 수집해서 서버로 전송할 수도있고,
스크린샷이 캡쳐되어 보내질 수도 있는 위험한 상황이 올 수 있습니다.
일반 문자의 경우
$aaa = isset($_POST['aaa']) ? strip_tags(clean_xss_attributes($_POST['aaa'])) : '';
숫자의 경우
$aaa = isset($_POST['aaa']) ? intval($_POST['aaa']) : '0';
이렇게 그누보드의 내장 함수와 혼용해서 사용하시면 안전해집니다.
DB로 저장되는 insert 나 update 에서는
$sql = " UPDATE table_name SET aaa = '".sql_escape_string($aaa)."' WHERE bbb = '{$bbb}' ";
이렇게 사용해서 SQL Injection 을 방어할 수 있습니다.
저희 리빌더도 보안에 신경을 써야 될 것같습니다.
감사합니다.
- 이전글내가 스크랩 한 게시물은 체크 및 스크랩 총 개수 나타내기2025.01.17
- 다음글[수정] 게시판 내 일정 확률로 보너스 포인트 지급 하기2025.01.15
댓글목록
