반응형
PHP URL 필터링함수를 알려주세요.
GET방식으로 게시물 번호 식별값을 URL을 통해 전송해서 해당 게시물을 가져오는 구조인데요.
예를들어 28번 째 게시물을 가져오고싶다고하면
http://aaa.co.kr/index.php?bidx=28 이런식으로 URL을 통해 값을 전송해서 게시물을 불러옵니다.
그런데 문제는 저 bidx 값(28) 뒤에
아무값이나 붙여서 보내면 쿼리오류가 발생합니다.
http://aaa.co.kr/index.php?bidx=28+-@ 처럼요.
사용자가 URL에 의도적으로 입력한 값만을 모두 필터링처리하는
PHP 보안함수가 어떤것이 있나요?
게시판 번호로 접근을 한다고 했으므로
$bidx = (int) $_GET['bidx']; 처럼 강제로 int 형으로 변환해서
공격을 하기 어렵게 만들 수 있습니다.
참고로 $_GET['bidx']의 값이 int형으로 변환이 불가능할 때는 0이라는 값이 됩니다.
아니면 아래처럼 숫자형태의 입력이 아닐 경우에는 ERROR라는 메시지를 띄우게 할 수 있습니다.
if(!preg_match('/^[0-9]*$/', $_GET['bidx'])) exit("ERROR");
반응형
'기타' 카테고리의 다른 글
[QnA] CMOS/BIOS 란? (0) | 2017.05.27 |
---|---|
[QnA] 페이지이동없이 폼데이터 전송하는 방법좀 알려주세요. (0) | 2017.05.27 |
[QnA] CMD 명령어로 파일의 내용을 수정하는 방법 (0) | 2017.05.27 |
[암호학] 대칭키 암호 방식 & 공개키 암호 방식 (0) | 2017.05.26 |
[QnA] MySQL DB 이름 바꾸는 쿼리문 (0) | 2017.05.25 |