워드프레스 댓글 작성자 IP 주소(개인정보) 익명화, 마스킹 처리하기

워드프레스는 기본적으로 댓글 작성자의 IP 주소가 저장되며 관리자에게는 전체 아이피 주소가 보입니다.

저의 블로그와 같은 작고 초라한 곳에 사람들이 많이 오는 것도 아니고, 내가 누군가의 IP 주소를 본다고해서 뭘 할 수 있는 것도 없지만 검열 반대와 프라이버시 보호 정보를 공유하는 블로그를 운영하는 입장에서 내 눈에 보인다는게 조금 신경쓰여 세 번째 자리는 무조건 0으로 나오게 해놨습니다.

워드프레스 댓글 작성자 IP 주소 마스킹 하는법

댓글 작성시 남겨지는 아이피 주소는 수집되는 개인정보라 볼 수 있어 위와 같이 세팅해두었습니다. 아예 수집되지 않게 할 수도 있지만 이 작은 블로그에도 생각보다 스팸 댓글봇의 방문이 꽤 많은 편이라 한 자리만 마스킹되게 했습니다.

방법은 매우 간단합니다.

functions.php 파일을 수정해 마지막에 아래의 코드를 추가해주시면 됩니다. (전문가가 아니라 지식이 짧아 ChatGPT의 힘을 빌렸습니다.)

function mask_comment_ip( $comment_author_ip ) {
    if ( filter_var( $comment_author_ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) {
        // IPv4 주소일 경우 마지막 옥텟을 0으로 변경 (예: 192.168.1.123 → 192.168.1.0)
        $ip_parts = explode( '.', $comment_author_ip );
        $ip_parts[2] = '0'; // 세 번째 옥텟 마스킹
        return implode( '.', $ip_parts );
    } elseif ( filter_var( $comment_author_ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6 ) ) {
        // IPv6 주소의 경우 마지막 부분을 '::'로 마스킹
        return preg_replace( '/:[a-fA-F0-9]{1,4}$/', ':0000', $comment_author_ip );
    }
    return $comment_author_ip; // 기본값 유지
}
add_filter( 'pre_comment_user_ip', 'mask_comment_ip' );

DB에 저장되는 아이피 주소도 마스킹되나?

pre_comment_user_ip를 사용하면 워드프레스가 데이터베이스에 저장하기 전 IP 주소를 마스킹된 형태로 변경해 데이터베이스에도 익명화된 IP 주소만 저장된다고 합니다.

아주 작은 노력이지만 저의 블로그에 놀러오시는 분들의 마음이 조금이라도 더 편안했으면 하는 마음에 알려드립니다.

결론

댓글 작성하실 때 이름은 아무거나 적으셔도 되는 것은 잘 아실테고, 이메일 주소는 적지 않으셔도 댓글 작성에 문제가 없습니다. 고로 NetxHack.com 방문시 어떠한 정보도 저의 공간에 저장되지 않으니 마음 편하게 놀러오셨으면 합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다