안녕하세요. 전 흑횽입니다. ^^
요번에 그누보드 스팸글 때문에 고민하시는 분들을 위해서.
그누보드 스팸 보안시스템 GNU SM MaGa Ver.01 플러그인 오픈소스를 개발해 봤습니다.
소스는 다운받아서 extends 폴더에 업로드하시면 됩니다. 끝~~
소스설명
$key = "보안을위해서 난 락을 건다. 스팸이여 안녕!!"; // 키는 여러분들이 원하는데로 넣어주세요.
[설명] 키값입니다. 사실 의미는 없습니다. 그냥 넣고 싶은 것 넣어주세요.
$parameterHash = sql_password($key);
[설명] 파라미터 해쉬에 sql_password 메소드의 값을 대입시킵니다.
sql_password 메소드는 $key의 문자열을 해쉬코드화 시킵니다.
키값이 별의미 없다는 것은 여기에 있습니다. sql_password 메소드는 새로고침시 값이 변경이 됩니다.
** 2016. 01.10 추가내용
sql_password 메소드는 키값에 공백이 있을 때, 변경이 됩니다.
이 이야기를 뻈네염 ^^
$parameterHash = str_replace("*","",$parameterHash);
[설명] 생성된 파라미터해쉬 변수의 값 중 '*'을 지웁니다.
이유는 파라미터 이름으로 사용하기 위해서는 특수문자는 안되거든요 ^^
$valueHash = md5(microtime());
[설명] 이 값은 차후, 더 확장할 때 사용할려고 만들었는데. 굳이 쓸 필요성이 있을 지 모르겠네요.
$searchName = "write.php";
[설명] 검색할 파일명을 대입시킵니다.
if(strpos($full_URI, $searchName) !== false) {}
[설명] "write.php" 문자열이 있는지 체크합니다. true일 때 실행합니다.
session_start();
$_SESSION[$parameterHash] = $valueHash;
[설명] 이 부분이 젤 중요하겠죠.
세션을 시작시킵니다.
테러를 당하는 이유는 파라미터 이름이 고정이기 때문에 발생하겠죠.
오픈소스 같은 경우엔, 오픈되어 있으니.. 더 심각할 수 밖에 없습니다.
그러기 위해서는 파라미터 이름을 유동으로 바꾸는 것이 1차 보안입니다.
그래서, 버전.01에서는 파라미터 이름만 해쉬화시킨 이유이죠.
글쓰기 버튼을 눌렀을 때, 세션이 생성됩니다.
$searchName = "write_update.php";
if(strpos($full_URI, $searchName) !== false) { }
[설명] "write_update.php" 문자열 존재시 실행
if($_SESSION[$parameterHash]){
$_SESSION[$parameterHash] = "";
unset($_SESSION[$parameterHash]);
}else{
alert('잘못된 접급입니다.');
}
[설명] $_SESSION[$parameterHash]의 값이 존재하면 실행됩니다.
세션을 소멸을 시킵니다. 세션 값부터 없애고, 힙영역의 공간도 지웁니다.
여기까지 ^^
php는 3년 3개월 경력의 php 개발자입니다.
부족하지만 열심히 하는 어린 "양"으로 생각해주시고, 읽어주셨으면 합니다.
그럼 즐거운 주말되세요 ^^
댓글 17개
update.php 파일에는 insert 쿼리가 있습니다.
인자를 받아서 처리해야 되는 웹구조상, 테러를 한다면... 굳이 write 페이지를 읽을 필요성이 없다는것이죠. 만약 write 페이지를 읽어서 처리할려면, 두번고생해야 하는데...
음.. 테러하시는 분들이 굳이 시간 뻇기고 할까 생각합니다.
그리고 로봇은 긁어가는 것을 로봇으로 알고 있습니다.
로봇이 글을 쓰지는 않는것이죠.
제가 알고 있는게 틀린지 알고 싶습니다.
그래야 업그레이드시 좀 더 좋은 결과물을 얻고 싶습니다.
많은 지도부탁드립니다. 감사합니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 137 | |
| 128 | |
| 125 | |
| 108 | |
| 107 | |
| 106 | |
| 94 | |
| 76 | |
| 75 |
오픈소스
ㅋㅋㅋ 이거 하는것도 일이구만요
|
| 74 | |
| 73 | |
| 72 | |
| 69 |
오픈소스
[CSS] CSS로 그림자 만들기
2
|
| 68 |
오픈소스
NodeJS 예제사이트
|
| 67 | |
| 66 | |
| 65 | |
| 61 | |
| 52 | |
| 50 | |
| 48 | |
| 47 | |
| 44 | |
| 43 |
오픈소스
마젠토 2.0 릴리스
|
| 41 |
오픈소스
오픈소스 소모임
1
|
| 40 | |
| 39 |
오픈소스
Onsen.io
|
| 31 | |
| 30 | |
| 29 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기