본문 바로가기
PHP

[PHP]게시판 내 이동시 잘못된 주소로 들어오는 접속자들 걸러주기

by 개발하자구 2023. 3. 3.

게시판 내를 이동할 때 (ex.상세보기 페이지) 쿼리스트링으로 값 $cid를 이용해 잘못 접속하려는 사용자 걸러주는 방법

 

항상 다음과 같이

 

if ($cid == null) echo "null입니다";

if ($cid == "") echo "empty입니다";

if ($cid == "0") echo "String zero 입니다";

if ($cid == 0) echo "숫자 0 입니다";

 

4가지 구문을 넣어봐서 사용자가 어떤 걸 입력하면 php의 결과가 어떻게 변환되어서 출력되는지 echo를 찍어봐야한다.

 

어떻게 값이 넘어오는 지 확인했다면 이제 본격적으로 걸러주는 코드를 완성해 보자.

 

4가지 조건 :

1. $cidnull 일시 : $cid==null

2. $cidempty 일시 : $cid==""

3. $cid가 문자열 일시 : $cid==0

문자열은 php에서 자동으로 ‘0’으로 형 변환되어 출력됨.

4. $cid가 숫자이지만 1000처럼 db에는 검색되지 않을 시 : if($row==null){

alert("자료가 존재하지 않습니다", $href_list); }

 

 

if ($cid==null || $cid=="" || $cid==0){
    alert("잘못된 경로입니다", $href_list);    
}

$sql = "select * from zcompany where id=$cid";
$row = sql_fetch($sql);

if($row==null) {
    alert("자료가 존재하지 않습니다", $href_list);   
}

 

첫 번째 if문 구문을 쓰면 sql로 들어가기 전에 튕겨내기 때문에 시스템 운용에 효율적임.

 

if((int)$cid==0) alert("잘못된 접근입니다.", $href_list);

$sql = "select * from zcompany where id=$cid";
$row = sql_fetch($sql);

if($row==null) {
    alert("자료가 존재하지 않습니다", $href_list);   
}

 

위의 구문을 더 축약함