$30 off During Our Annual Pro Sale. View Details »

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

echizenyayota

June 01, 2019
Tweet

More Decks by echizenyayota

Other Decks in Programming

Transcript

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

    View Slide

  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//

    View Slide

  3. エコテキブログ(個人ブログ)
    https://e-yota.com/

    View Slide

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

    View Slide

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

    View Slide

  6. 正規表現の例
    - 阿田 → Ada
    - 井田 → Ida
    - 宇田 → Uda
    - 江田 → Eda
    - 小田 → Oda

    View Slide

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

    View Slide

  8. 正規表現の例
    - Ada → (.){3}
    - Ida → (.){3}
    - Uda → (.){3}
    - Eda → (.){3}
    - Oda → (.){3}
    → 任意の1文字を3回繰り返す文字列

    View Slide

  9. メタ文字
    - “()”, “.”, “{}”

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. これまでにあったリファラースパムの例
    - auto-seo-service.com
    - auto-seo-service.org
    - your-seo-promotion.com
    - your-seo-help.com
    - e-yota.com.your-seo-promotion.com
    → フィルタ設定の作業が延々とつづく

    View Slide

  20. 正規表現を登録して一発解決!
    (.+)*seo(.+)*.(.+)*

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide