Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace raw emails with obfuscated ones #4

Open
wants to merge 2 commits into
base: gh-pages
Choose a base branch
from

Conversation

kino-ma
Copy link
Member

@kino-ma kino-ma commented Mar 5, 2024

背景

メールアドレスが HTML ソースに生で記載されているためか、スパムメールがたくさん届いていた。

目的

メールアドレスをソースに直接記載せず、動的に生成させる。

これにより、 JavaScript エンジンを使っていない単純な bot はメールアドレスを解読できず、スパムの減少が期待できる。

やったこと

難読化ツール を使ってメールアドレスを動的に生成するようにした。

image

難読化前のコードは以下。

const elems = document.querySelectorAll(".email-obfuscation");
for (const elem of elems) {
  elem.innerHTML = "[email protected]";
}

Notes

メンテ方法について:

  • 新しいページを作るとき
    • 本 PR での編集と同様に、
      1. メアドを入れたい場所に <span class="email-obfuscation"><span> を差し込む
      2. <body> の一番下 (別にどこでもいいけど) に <script src="assets/js/email-obfuscation.js"></script> を差し込む
  • 難読コードの内容を変えたいとき
    1. 難読化ツール から新しいコードを生成する
    2. assets/js/email-obfuscation.js にそのまんまコピペする
    • アドレスを変えたいときも、上に貼ってあるコードの string 部分を置き換えて上記手順

レビュワーに確認してほしいこと

  • レビュワーの手元でも正常にメールアドレスが表示できているか?
  • kino-ma がいなくてもメンテ方法の継承ができそうか?
    • もしできない場合、できなくなったタイミングで別方法に移行を検討してください

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant