모든 IP 주소를 삭제하는 방법?

데이터베이스에서 모든 IP 주소를 삭제하는 방법이 있을까요? 이를 수행할 수 있는 플러그인이나 스크립트가 있을까요?

그렇게 하려는 이유를 묻지 마세요. 단순히 요구사항일 뿐이며, 처리를 마치고 싶습니다.

Ask.discourse.com에 가서 다음 답변을 받았는데, 아마도 사실일 것 같습니다.

Rails를 사용하여 Discourse에서 IP 주소 삭제하기 AI

pfaffman:

IP 주소는 어디에 저장되나요? Rails에서 모두 삭제할 수 있나요?

DiscourseHelper:

검색

검색 중: Discourse 데이터베이스에서 사용자 및 게시물의 IP 주소가 어디에 저장되며, 프라이버시 또는 GDPR 준수를 위해 Rails 또는 rake 작업을 사용하여 저장된 모든 IP 주소를 삭제할 수 있는지 여부

읽기

읽은 내용: 문제적인 IP 주소 필드

데이터베이스 스키마 조회

incoming_links,search_logs,topic_link_clicks,topic_views,user_profile_views,user_auth_tokens,user_auth_token_logs,screened_ip_addresses

Discourse는 IP 주소를 여러 데이터베이스 테이블에 저장합니다. 구체적으로 다음과 같습니다:

  • incoming_links (ip_address)
  • search_logs (ip_address)
  • topic_link_clicks (ip_address)
  • topic_views (ip_address)
  • user_profile_views (ip_address)
  • user_auth_tokens (client_ip)
  • user_auth_token_logs (client_ip)
  • screened_ip_addresses (ip_address)

터미널 접근 권한이 있는 경우(자체 호스팅 설치)에는 Rails 명령을 사용하여 IP 주소를 삭제할 수 있습니다. 각 테이블에서 관련 컬럼(ip_address 또는 client_ip 등)을 NULL로 설정할 수 있습니다. incoming_links의 예시:

IncomingLink.update_all(ip_address: nil)

관련된 각 테이블/컬럼에 대해 유사한 명령을 실행해야 합니다.

프라이버시 및 잠재적 영향에 대한 자세한 내용과 맥락은 다음 토론을 참고하십시오:
문제적인 IP 주소 필드

참고: Discourse의 호스팅 서비스를 사용하는 경우 SSH 또는 Rails 콘솔 접근 권한이 없습니다. 이러한 경우 team@discourse.org로 Discourse 지원팀에 문의하여 지침을 받으시기 바랍니다.

각 테이블에 대한 구체적인 Rails 명령이 필요하거나 추가 조언이 필요하시면 알려주세요!

흥미롭게도 users 테이블의 주요 항목인 ip_addressregistration_ip_address는 포함되지 않은 것으로 보입니다.

데이터 탐색기에서 필드 검색을 해보니 몇 가지 더 있습니다.

  • screened_emails.ip_address
  • screened_urls.ip_address
  • user_histories.ip_address
  • user_ip_address_histories.ip_address

테스트 사이트에서 이 중 일부는 레코드가 없지만, 본인 테이블에서도 데이터가 비어 있는지 확인해 볼 가치가 있을 것입니다.

하하! 제 휴대폰으로 할 수 있는 한계였어요. 항목이 꽤 많아서 다 포함된 줄 알았거든요. :rofl: