Notice
Recent Posts
Recent Comments
Tags
- javascript 바코드 생성
- javascript redirection
- django 엑셀불러오기
- swagger 500 error
- ViewBag
- JavaScript
- asp.net core Select
- TempData
- SSD 복사
- simpe ftp
- asp.net Select
- 원격ftp
- jquery 바코드생성
- 하드 윈도우 복사
- 404에러페이지
- 맥 오라클설치
- XSS방어
- XSS PHP
- asp.net dropdownlist
- php 캐쉬제거
- 바코드 생성하기
- asp.net core swagger
- 말줄임표시
- Mac Oracle
- asp ftp
- ViewData
- 강제이동
- 하드 마이그레이션
- 타임피커
- ASP.Net Core 404
웹개발자의 기지개
[PHP] 관리자페이지 접근 시도 제한 시키기 - 간단 코드 본문
특히 관공서 보안 요청 사항중에 필수로 자주 등장하는 요청사항 중에 하나다.
관리자 페이지 접근 시도를 5회 이상일때 접근을 막도록 하는 간단한 코드내용이다.
|
1
2
3
4
5
6
7
8
9
|
CREATE TABLE IF NOT EXISTS `adminLogAttempt` (
`no` int(11) unsigned NOT NULL AUTO_INCREMENT,
`ipc` varchar(30) NOT NULL,
`sid` varchar(50) NOT NULL,
`reg_date` int(10) unsigned NOT NULL DEFAULT '0',
`attempt_id` varchar(50) NOT NULL,
`attempt_pw` varchar(50) NOT NULL,
PRIMARY KEY (`no`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
cs |

[관리자 로그인 처리페이지]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<?
session_start();
$ipc = $_SERVER['REMOTE_ADDR'];
$sid = session_id();
$reg_date = time();
$admin_password = trim($_POST['admin_password']);
$admin_id = trim($_POST['admin_id']);
if(!$admin_password || !$admin_id){
error("아이디/패스워드를 작성해주세요");
exit;
}
//------- 5회 이상 실패시 관리자 로직 시작 ----------------
$query = "select * from adminLogAttempt where sid='$sid' order by no DESC limit 1";
$res3 = mysqli_query($connect,$query) or die("select Error 1");
$row = mysqli_fetch_array($res3);
if ($row[no]) {
$query = "select count(*) AS logCnt from adminLogAttempt where sid='$sid'";
$aRes = mysqli_query($connect,$query) or die("select Error 2");
$aRow = mysqli_fetch_array($aRes);
$logCnt = $aRow['logCnt'];
if ($logCnt >= 5) {
echo "<script language='javascript'>alert('로그인 시도 횟수 5번을 초과하셨습니다.\\n\\n계속 진행하시려면 053-111-2222 로 문의해 주시기 바랍니다.');location.href='/';</script>";
exit;
}
}
if (로그인 성공시) { // 관리자 로그인 성공시
.......
} else { // 관리자 로그인 실패시
//--------------- 관리자 접근 실패 insert-------------------------------------------------
$query = "insert into adminLogAttempt (ipc,sid,reg_date,attempt_id,attempt_pw) values ('$ipc','$sid','$reg_date','".$admin_id."','".$admin_password."')";
mysqli_query($connect,$query) or die("select Error 3");
}
?>
|
cs |
'PHP' 카테고리의 다른 글
| [PHP] phpinfo() 로 리눅스 환경 정보 구하기 (0) | 2025.11.20 |
|---|---|
| [PHP] 네이버페이, 카카오페이 연동하기 (0) | 2025.11.20 |
| [PHP] 모든 태그 필터링(제거) 사용자 정의 함수 만들기 (0) | 2025.10.03 |
| [PHP] 초간단 금지어 단어 필터링 함수만들기 (0) | 2025.09.30 |
| [PHP] 문법 오류는 노출되고, 경고/주의 메세지는 노출 안되도록 (php.ini) (0) | 2025.09.24 |
Comments
