안녕하세요? 게시물을 연속으로 수정할때 ip가 차단 되서요. ㅠ ㅜ

안녕하세요? 게시물을 연속으로 수정할때 ip가 차단 되서요. ㅠ ㅜ

QA

안녕하세요? 게시물을 연속으로 수정할때 ip가 차단 되서요. ㅠ ㅜ

본문

안녕하세요?

환절기 건강 잘 챙기시기 바랍니다. 늘 건강하시구요.

 

 

다름이 아니고 그누보드5를 사용하고 빌더 그대로 사용중 입니다.

부득히 저작권 문제로 1000여개의 게시물을 수정해야 하는 상황이 발생되어 30개정도 연속으로

수정을 하니까 어느순간에 "응답없음" 이 지속되어 접속이 끊어지고 관리자 메일로 메시지가 날아 옵니다.

 

--------------메일로 날아온 메시지내용-----------------

XXX.XXX.XXX.XXX  아이피로 XSS 공격이 있었습니다.

관리자 권한을 탈취하려는 접근이므로 주의 하시기 바랍니다.

해당 IP는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.

-------------------------------------------------------------------

 

짧은시간 연속으로 게시물 수정해도 이런 문제가 발생하지 않게 

설정을 하는곳이 있을까요?

 

늦은시간 질문 읽어주셔서 감사합니다.

 

 

이 질문에 댓글 쓰기 :

답변 7

급한대로

file: adm/admin.lib.php

line: 611 ~ 621

주석처리 하시면 될것 같습니다.

/*

// 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.
$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
if (get_session('ss_mb_key') !== $admin_key) {
    session_destroy();
    include_once(g5_LIB_PATH.'/mailer.lib.php');
    // 메일 알림
    mailer($member['mb_nick'], $member['mb_email'], $member['mb_email'], 'XSS 공격 알림', $_SERVER['REMOTE_ADDR'].' 아이피로 XSS 공격이 있었습니다.\n\n관리자 권한을 탈취하려는 접근이므로 주의하시기 바랍니다.\n\n해당 아이피는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.\n\n'.g5_URL, 0);
    alert_close('정상적으로 로그인하여 접근하시기 바랍니다.');
}
@ksort($auth);
*/

 

이 부분 주척 처리 하였는데  동일하게   여러 계시물을 수정하면   IP. 차단 되면서  접속이 안됩니다.

관리자 ID; 일반 ID   동일하게  접속이 차단이 됩니다.

다른 방법이 있는지 부탁합니다.

주석 처리하기전에는  관리자 ID 로 계시물을 빨리 여러건 수정하면  갑자기   웹페이지가 응답이 없습니다.   하고 차단됩니다.   

 

그리고

-----------------------------------------------

XXX.XXX.XXX.XXX  아이피로 XSS 공격이 있었습니다.

관리자 권한을 탈취하려는 접근이므로 주의 하시기 바랍니다.

해당 IP는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.

----------------------------------------------

이런 메일이 와 있었습니다.

 

 

주석 처리후 

관리자 iD  로 계시물을 여러개 빨리 수정하면 동일하게   갑자기 웹페이지 응답이 없습니다. 하고 접속이 안됩니다..  

주석 처리후  메일은 안옵니다.

 

그리고 일반   ID도   로그인후  계시물을 연속으로 빨리수정하면  차단이 됩니다.

주석처리하기 전에도  일반 ID 로 계시물을 연속으로 빨리 수정하면  멈췄는데  그때는 메일이 안왔습니다.

   

 

 

차단과 서버처리 지연은 다릅니다.
어떤 에러메세지가 나오고 그 에러메세지에 '차단' 관련 혹은 유사 단어가 포함되었나요?

웹페이지 응답이 없는현상은 서버로 전송된 요청이 처리가 지연되는 현상같은데
수정이 어떤 형태로 얼마만큼씩 진행되는 건가요?

왠지 일반적인 텍스트 수정이 아닌
용량이 작지않은 첨부파일이 대량, 지속적으로 서버에 요청되면서
서버가 그 처리를 버거워해서 버벅 거리는 상황이지 않을까 싶습니다.

일반적인 텍스트이고 규칙성을 띄는 형태의 수정이라면
DB 에서 데이터 조작으로 간단하게 해결하는 방법이 있겠지만
첨부파일의 자체의 기존파일삭제/재업로드 같은 경우라면
업로드 옵션 관련 설정을 좀더 넉넉하게 잡아주는 정도일것 같고
그러고도 개선이 되지 않는다면
프로그램을 수정하지 않는이상 기대하시는 목표로의 빠른 접근은 힘들것 같습니다.

웹페이지 계시글이  90프로 이상이  택스트 형식으로 되어있습니다.

웹페이지 내용중    제품구매 링크만 찾아서  제거 하는 일 입니다.

 

 

"" https://ko.aliexpress.com/item/1005003112823697.html?spm=a2g0o.tm800091275  ""

 이런 택스트를 지우는 일인데    계시물을 빨리 수정하다보면  차단이 됩니다.

한번 차단이 된 IP  주소는  어떠한 방법을 써도  웹페이지에 접근이 안됩니다.

 

수작업으로 일일히 수정하기보다

 

MySQL 8.0 의 경우는

https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace

함수를 사용해 일괄 치환이 가능합니다.

 

미만 버전에서는 해당 함수가 없어서 억지로 구현을 해야 하는데


select 
    f1 
    -- ,INSTR(f1, 'https://ko.aliexpress.com') f2
    -- ,SUBSTRING(f1, INSTR(f1, 'https://ko.aliexpress.com')) f3 
    -- ,SUBSTRING_INDEX(SUBSTRING(f1, INSTR(f1, 'https://ko.aliexpress.com')), ' ', 1) f4
    ,REPLACE(f1, SUBSTRING_INDEX(SUBSTRING(f1, INSTR(f1, 'https://ko.aliexpress.com')), ' ', 1), '') f5
    -- REPLACE(f1, SUBSTRING_INDEX(SUBSTRING(f1, INSTR(f1, 'https://ko.aliexpress.com') f2 
from (
select 'https://ko.aliexpress.com/item/1005003112823697.html?spm=a2g0o.tm800091275' f1 union all
select 'a https://ko.aliexpress.com/item/1005003112823697.html?spm=a2g0o.tm800091275 b' f1 union all
select 'sdfsfdg https://ko.naver.com/item/1005003112823697.html?spm=a2g0o.tm800091275' f1 union all
select 'sd d https://ko.aliexpress.com/item/1x05003112823697.html?spm=a2g0o.tm8x0091275 sd google.com https://ko.aliexpress.com/item/1x05003112823697.html?spm=a2g0o.t ' f1 union all
select '\nhttps://ko.aliexpress.com/item/10w5003112823697.html?spm=a2g0o.tm80w091275' f1 from dual
) tmp;

처럼 테스트 해볼 경우

 


f1                                                                                                                                                             |f5                                                                                   |
---------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
https://ko.aliexpress.com/item/1005003112823697.html?spm=a2g0o.tm800091275                                                                                     |                                                                                     |
a https://ko.aliexpress.com/item/1005003112823697.html?spm=a2g0o.tm800091275 b                                                                                 |a  b                                                                                 |
sdfsfdg https://ko.naver.com/item/1005003112823697.html?spm=a2g0o.tm800091275                                                                                  |sdfsfdg https://ko.naver.com/item/1005003112823697.html?spm=a2g0o.tm800091275        |
sd d https://ko.aliexpress.com/item/1x05003112823697.html?spm=a2g0o.tm8x0091275 sd google.com https://ko.aliexpress.com/item/1x05003112823697.html?spm=a2g0o.t |sd d  sd google.com https://ko.aliexpress.com/item/1x05003112823697.html?spm=a2g0o.t |
¶https://ko.aliexpress.com/item/10w5003112823697.html?spm=a2g0o.tm80w091275                                                                                    |¶                                                                                    |

4번째 결과 행처럼 하나 이상의 삭제할 링크가 포함될 경우

한번의 치환으로 해결이 안되는 경우가 생기게 됩니다.

이런 경우는 원하는 결과가 나올때 까지 n번 쿼리를 적용해야 하는 문제가 있습니다.

 

그래서 php 프로그램에서 뷰 페이지가 열릴때 자동감지 후 업데이트가 되게 하거나

 

실제 업데이트 하지 않고

DB > php > 뷰 직전 치환 > 뷰

로 처리하는 방법이 무난하지 않을까 싶습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,801 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT