월루를 꿈꾸는 대학생

PHP 기초 - GET , 유효성 검사 , FILTER-INPUT 본문

Programing/PHP

PHP 기초 - GET , 유효성 검사 , FILTER-INPUT

하즈시 2022. 2. 14. 10:43
728x90

 

브라우저에 주소를 치고 ENTER를 누르는 순간 해당 주소의 서버에다가 GET방식으로 요청을 함 

그 검색결과로 해당 페이지가 있으면 브라우저로 해당 파일을 출력 시켜줌

 

?q=검색어 : 쿼리로 해당 검색어를 질의   

 

 

- productid 라는 값이 20이 넘어오면 이 페이지 get-input.php 파일에 $product_id에 저장되어 출력됨 

- $_GET['productid'] -> get으로 넘어온 값을 반환 

- 슈퍼 글로벌 변수는 어느 페이지 어느 경로에 있어도 사용이 가능하다 

- get 방식으로 넘어오는 데이터를 구분할 때는 & 로 구분

productid 와 같이 limit라는 값들을 & 로 연결해서 넘겨줌 

 

- 옛날에는 저기 주소창에 <script> 를 넣어서 악의적인 조작이 가능했으나 요즘 브라우저는 자체적으로 해당 기능을 막아둠 

- 사용자가 입력한 데이터를 필터할 필요가 있음 

- GET으로 넘어온 값을 변수에 저장 시 필터처리 FILTER-INPUT 

- 숫자가 아닌 값을 넣으면 브라우저가 멈추도록 필터링

- die() 실행되면 그 밑 코드 아무것도 실행 x 

 

 

 

- 사용자가 이상한 값 넣을 때 기본값 출력 되도록 

 

 

- 사용자가 입력한 값을 유효성 겁사 INPUT_FILTER를 통해 가능 

 

 


php 정보 

https://www.php.net/manual/en/book.filter.php

 

PHP: Filter - Manual

There are no user contributed notes for this page.

www.php.net

 

 

Sanitize filter

- Sanitize = 살균

- 해당 필터에 관계없는 것들을 다 삭제 시켜줌  

 

<?php

// 주소표시줄에 get 방식으로 넘어오는 값중에 productid라는 값 
//ex productid=10 중 10을 product_id에 저장
$product_id=$_GET['productid'];
$limit = $_GET['limit'];

//변수에 넣을 때 값을 필터시켜줌 
//INPUT_GET : GET 방식으로 넘어옴 :타입
//필터링 처리할 변수명 
//유효성 검사:FILTER_VALIDATE_INT 정수인지 구분  : true랑 false를 알려줌 
$product_id=filter_input(INPUT_GET,'productid',FILTER_VALIDATE_INT);
$limit=filter_input(INPUT_GET,'limit',FILTER_VALIDATE_INT);

// 변수가 숫자가 아닌 게 넘어오면 밑에코드 실행 x 
// if($product_id==false || $limit==false){
//    die(); // 숫자가 아닌 값이 넘어왔으면 아무것도 하지마라 
// }

//사용자가 숫자가 아닌 값 넣었을 때 기본값 출력 되도록 
if($product_id==false){
    $product_id=10;
}
if($limit==false){
    $limit=10;
}


?>

<h1>get input</h1>

<p>
    Showing category: <?= $product_id;?>. - Limit <?= $limit ?>

</p>

 

 

 

참고

 

https://youtu.be/GajeMIg-nXQ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90