JavaScriptの正規表現で リファラースパムを退治した話

JavaScriptの正規表現で リファラースパムを退治した話

こちらのブログをもとにして作成しました → https://e-yota.com/?s=%E3%83%AA%E3%83%95%E3%82%A1%E3%83%A9%E3%83%BC%E3%82%B9%E3%83%91%E3%83%A0

61e8d2d797a37913aafaeb8e8b38c373?s=128

echizenyayota

June 01, 2019
Tweet

Transcript

  1. JavaScriptの正規表現で リファラースパムを退治した話 2019年6月1日(土) 2019年6月号第3回JavaScript初心者もくもく勉強会の日 @さくらインターネット本社

  2. About me 福井 洋(ふくい ひろし) WordPress関連の個人事業 (ブログサイトの運営サーバー環境構築・投げ銭プラグイン開発) http://e-yota.com/about_me/ https://speakerdeck.com/echizenyayota https://twitter.com/echizenya_yota

    主なコミュニティ歴 さくらクラブ「JavaScriptいろいろ初心者もくもく勉強会」(管理人) https://saku-love.doorkeeper.jp/events/88894 WordCamp Tokyo 2018(スピーカー) https://2018.tokyo.wordcamp.org/speaker/fukui-hiroshi//
  3. エコテキブログ(個人ブログ) https://e-yota.com/

  4. 用語説明 - 正規表現 - リファラースパム

  5. 正規表現(regular expression) - 文字列の検索パターンを表現する記法

  6. 正規表現の例 - 阿田 → Ada - 井田 → Ida -

    宇田 → Uda - 江田 → Eda - 小田 → Oda
  7. 正規表現の例 - Ada → (.){3} - Ida → (.){3} -

    Uda → (.){3} - Eda → (.){3} - Oda → (.){3}
  8. 正規表現の例 - Ada → (.){3} - Ida → (.){3} -

    Uda → (.){3} - Eda → (.){3} - Oda → (.){3} → 任意の1文字を3回繰り返す文字列
  9. メタ文字 - “()”, “.”, “{}”

  10. リファラースパム - アクセス解析を利用した悪意ある宣伝手法

  11. リファラースパムの例

  12. リファラースパムの例

  13. つまり... 「お、なんだこのURLは?」と 思わせて逆に自サイトのトップページに アクセスさせるセコい宣伝手法

  14. サイト運営者にとってのデメリット - PVが増えたと勘違いさせられる - 正確なPVが計測できない

  15. サイト運営者にとってのデメリット - PVが増えたと勘違いさせられる - 正確なPVが計測できない → Google Analyticsで除外できる

  16. フィルタリングの設定

  17. フィルタする文字列の設定 - auto-seo-service.com - auto-seo-service.org

  18. これまでにあったリファラースパムの例 - auto-seo-service.com - auto-seo-service.org - your-seo-promotion.com - your-seo-help.com -

    e-yota.com.your-seo-promotion.com ...
  19. これまでにあったリファラースパムの例 - auto-seo-service.com - auto-seo-service.org - your-seo-promotion.com - your-seo-help.com -

    e-yota.com.your-seo-promotion.com → フィルタ設定の作業が延々とつづく
  20. 正規表現を登録して一発解決! (.+)*seo(.+)*.(.+)*

  21. 使用しているメタ文字 - . - + - * - ()

  22. . - 任意の1文字(数字・文字・記号)を表す - 1, a, _など

  23. + - 直前の文字が1回以上、出現するときに使う - 10+ → 10, 100, 1000など

  24. * - 直前の文字が0回以上、出現するときに使う - 10* → 1, 10, 100, 1000など

  25. () - 検索パターンを明示する場合に使う - example.(com|org)

  26. Atomによる正規表現の検証

  27. 【参考資料①】エコテキブログ

  28. 【参考資料②】ドットインストール - エディタで学ぶ正規表現 https://dotinstall.com/lessons/basic_regexp_v2

  29. 【参考資料③】「正規表現入門 第3版」 https://amzn.to/2Y2YMat

  30. ご清聴ありがとうございました!