마지막 수정 날짜 : 2017년 6월 21일
중국에서 뜬금없이 스팸이 자꾸 날라오기 시작했다.
이전부터 스팸은 지속적으로 왔지만, Disqus 댓글로 변경하고 난 뒤로부터는 댓글이 거의 없다시피(ㅠㅠ) 했는데 계속 기본 워드프레스 댓글 기능으로 스팸이 날라오기 시작했다.
아마 WordPress 라는 것을 인식하고 나서 보내는 듯 한데, 실제 로그를 보도록 하자.
원인 (로그)
1 2 3 4 5 6 |
185.117.73.203 - - [02/Jun/2017:17:00:34 +0900] "GET /?feed=rss2 HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.802.30 Safari/535.1 SE 2.X MetaSr 1.0" 185.117.73.203 - - [02/Jun/2017:17:00:36 +0900] "GET /feed HTTP/1.1" 200 232791 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.802.30 Safari/535.1 SE 2.X MetaSr 1.0" 185.117.73.203 - - [02/Jun/2017:17:00:37 +0900] "GET /?p=3748 HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.802.30 Safari/535.1 SE 2.X MetaSr 1.0" 185.117.73.203 - - [02/Jun/2017:17:00:38 +0900] "GET /change-os-centos HTTP/1.1" 200 71597 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.802.30 Safari/535.1 SE 2.X MetaSr 1.0" 185.117.73.203 - - [02/Jun/2017:17:00:43 +0900] "POST /wp-comments-post.php HTTP/1.1" 302 5 "https://blog.hakase.io/?p=3748" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.802.30 Safari/535.1 SE 2.X MetaSr 1.0" 185.117.73.203 - - [02/Jun/2017:17:00:44 +0900] "GET /change-os-centos HTTP/1.1" 200 71806 "https://blog.hakase.io/?p=3748" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.802.30 Safari/535.1 SE 2.X MetaSr 1.0" |
이 파일이 WordPress 에 댓글을 넣어주는(?) 역할을 하는 파일인데 이 파일은 Disqus 를 설치하더라도 지속적으로 작동한다. (즉, Disqus 플러그인은 댓글 창을 교체하는 작업이지 기존 워드프레스 댓글 기능을 없애는 것이 아니다.)
따라서 아래와 같이 해결했다.
소스 수정하기
wp-comments-post.php 파일을 열어서 아래와 같이 수정하거나… (워드프레스 메인 경로에 있다.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php /** * Handles Comment Post to WordPress and prevents duplicate comment posting. * * @package WordPress */ exit; if ( 'POST' != $_SERVER['REQUEST_METHOD'] ) { $protocol = $_SERVER['SERVER_PROTOCOL']; if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ) ) ) { $protocol = 'HTTP/1.0'; } header('Allow: POST'); header("$protocol 405 Method Not Allowed"); exit; } /** Sets up the WordPress Environment. */ require( dirname(__FILE__) . '/wp-load.php' ); |
(더) 간편한 파일 삭제하기
그냥 파일을 지우자 (…) 굳이 위처럼 수정 할 필요는 없다.
(나는 차후에 파일 받기 귀찮아서 그냥 위처럼 수정했을 뿐.)
파일을 지워도 기본 워드프레스 댓글 작성이 제한 될 뿐, Disqus 를 사용함에 있어 아무런 문제가 없다.
물론 나중에 문제가 생기면 그냥 워드프레스 최신 파일을 받아서 다시 업로드하면 끝. (…)
Example
Send
1 2 3 4 5 |
POST /wp-comments-post.php HTTP/1.1 Host: blog.hakase.io Content-Type: application/x-www-form-urlencoded comment=awfwafewaf&author=asdf&email=asdf%40asdf.com&url=&submit=Submit+Comment&comment_post_ID=3748&comment_parent=0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
HTTP/1.1 302 Moved Temporarily Server: Hakase-nginx/1.13.2 (GCC) Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Location: https://blog.hakase.io/change-os-centos#comment-123 X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Public-Key-Pins: pin-sha256="K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q="; pin-sha256="amMeV6gb9QNx0Zf7FtJ19Wa/t2B7KpCF/1n2Js3UuSU="; pin-sha256="fY1Nuo1AymZ25yxB0voZWlIyg/MFxKkEYsp0nBv5x8A="; pin-sha256="zeGUylVMBNpM16sYyXq/JwFGkDxiJ3CLVF7+pR1xDg8="; pin-sha256="Yc+zjxGLXmmSOIvOq/obl39abr/BLR6cAHiXtVKZPuA="; pin-sha256="kIOQqFXoBbYOXY0cblqdeVVF5G80Sb6METSHOIXKWhA="; max-age=2592000; includeSubDomains Strict-Transport-Security: max-age=15768000; includeSubDomains; preload Date: Thu, 15 Jun 2017 02:28:59 GMT X-Page-Speed: ngx_pagespeed Cache-Control: max-age=0, no-cache, must-revalidate We are sorry, but Chrome API does not allow to get a response body for redirect. |