Notice
Recent Posts
Recent Comments
Tags
- 맥 오라클설치
- php 캐쉬제거
- asp.net Select
- 하드 마이그레이션
- jquery 바코드
- 강제이동
- Mac Oracle
- javascript redirection
- javascript 바코드 생성
- 타임피커
- ViewData
- ASP.Net Core 404
- asp.net core Select
- 404에러페이지
- ViewBag
- 바코드 스캔하기
- javascript 유효성체크
- XSS PHP
- asp.net dropdownlist
- 말줄임표시
- SSD 복사
- TempData
- 파일업로드 체크
- django 엑셀불러오기
- XSS방어
- jquery 바코드생성
- 하드 윈도우 복사
- 파일업로드 유효성체크
- 바코드 생성하기
- javascript 바코드스캔
웹개발자의 기지개
[PHP] CSRF 공격방어 작업하기 본문
PHP 상으로 CSRF (cross-site request forgery) 공격을 막는 작업을 해보자.
우선 작업을 할 이전페이지단에서, token 이라는 특정랜덤값이 든 세션 변수를 하나 할당한다.
그리고 해당 posting 되는 실제 페이지에서 넘어온 그 token 값과 세션 변수값을 확인하여 그 값들이 다 정확하다면
원하는 작업을 진행하도록 하는 것이다.
[ 이전페이지.php ]
1
2
3
|
<?
$_SESSION['token'] = md5(uniqid(mt_rand(), true));
?>
|
cs |
<form name="f" method="post">
<input type="hidden" name="token" value="<?=$_SESSION['token']?>">
</form>
[ posting.php ]
$token = $_POST['token'];
1
2
3
4
5
6
7
8
|
<?
if (!$token || $token != $_SESSION['token']) {
// token 값이 없거나 다르므로 메인페이지로
echo "<meta http-equiv='refresh' content='0; url=/'>";
exit;
}
?>
|
cs |
참고 : https://www.phptutorial.net/php-tutorial/php-csrf/
'PHP' 카테고리의 다른 글
[PHP] 배열값 가중치별로 랜덤값 얻어오기 (0) | 2021.09.09 |
---|---|
[PHP] 노캐쉬 기능 적용하기 (No Cache) (0) | 2021.08.12 |
[PHP] 다소 긴 문장형식의 문자열을 간단히 변수처리하는 방법 (0) | 2021.07.20 |
[PHP] 숫자를 한글 돈문자열로 변환하기 (0) | 2021.07.11 |
[PHP] 실무예제, 동적 테이블 칼럼 값처리하기 (0) | 2021.07.07 |
Comments