- 자신의 워드프레스 디렉토리에 antispam.txt 파일을 만든다.
- 워드프레스가 설치된 디렉토리아래 wp-include에서 classes.php 파일을 연다. (백업 필수)
- 1222번째 줄 근처에서 $rules .= "</IfModule>\n"; 를 찾는다. 이 줄의 바로 윗줄에 아래의 내용을 추가한다.
// // don't forget my own rules // $fullpath = "/antispam.txt의 위치"; if ( file_exists( $fullpath ) ) { $rules .= "# begin: anti-spam rules\n"; $handle = @fopen( $fullpath, "r" ); $rules .= @fread( $handle, @filesize( $fullpath ) ); $rules .= "\n"; @fclose( $handle ); } // end of modification. - 위의 코드에서 antispam.txt의 서버에서의 위치를 수정한다. antispam.txt가 설치된 디렉토리에서 pwd라고 치면 현재의 디렉토리를 알려준다. 그 경로에 antispam.txt를 붙여준다. 예를 들면 이런식이다. /home/hof/www/wp/antispam.txt
- 저장한다.
2005년 4월 8일 금요일
.htaccess와 워드프레스 퍼머링크
워드프레스에서는 퍼머링크 주소를 index.php?p=1 의 형태가 아닌 /archive/1 처럼 보기좋게 표시할 수 있는 방법을 제공하고 있다. 접속하는 URL의 흐름을 제어하기 위해 아파치 웹서버의 mod_rewrite모듈을 이용하여 .htaccess 파일을 작성한다. 관리자화면(설정->퍼머링크, 영문판일 경우 Options->Permalinks)에서 퍼머링크의 규칙만 정해주면 워드프레스가 자동으로 .htaccess 파일내용을 작성해주는데 이 경우 스팸리퍼러 처리를 위해 .htaccess 파일에 작성한 스패머 주소 목록이 사라지게 된다. 즉, 스팸리퍼러 차단을 위해서 .htaccess파일을 수동으로 고쳐놓으면 워드프레스의 관리자메뉴에서 다시 .htaccess 파일을 자동으로 수정을 해버린다. 설령 사용자가 퍼머링크 규칙을 고치지 않는다 하더라도 퍼머링크 설정메뉴를 열기만 해도 .htaccess파일은 저절로 수정된다. 허드옹 께서 이 문제를 해결해 주셨다. 리퍼러 차단목록을 .htaccess 파일에 직접 입력하지 않고 antispam.txt 파일에 작성을 해놓으면 워드프레스에서 .htaccess 파일을 재작성 할 경우 이 antispam.txt파일을 불러와서 규칙에 맞게 삽입시키도록 변경하였다.