Help us understand the problem. What is going on with this article?

これまで見た中で最も汚いソースコード

今回のコードの汚さには正直ちょっと自信あるよ。
下手すりゃIOCCCで優勝も狙えるかもしれないよ。

ということで、私がこれまで見てきた中で最も汚いソースコードを紹介します。

それは、とあるWebサイトのTwitterハッシュタグ埋め込みのコード。
よくあるやつですね。
普通であればタイムライン埋め込み使って一瞬で終わるやつです。

ただ、そこはけっこうお堅めのクライアントで、普通に埋め込むだけではできない要件が追加でありました。
すなわち、ハッシュタグを乗っ取る荒らし投稿などを絶対に表示させたくない、というものです。
具体的にはクライアントからNGワードのリストをもらって、それらの単語が含まれる投稿は表示しないようにします。

だいぶ昔の話なので実際はvarとか使ってたと思うんだけど、ざっくり書くとこんなかんじ。

const ngWords = [/* 省略 */];

let tweetList = $.get('TwitterAPI');
tweetList.forEach(tweet=>{
  if(tweet.contains(ngWords)){
     return;
  }

  $('#timeline').append(tweet);
});

まあ、そこまではそれなりによくある案件だと思うのですよ。

さて問題はここからだ。

該当の処理が、HTMLのscriptタグ内に埋め込みで書かれていた。

はい、別ファイルにするわけでもなく難読化すらもされずに、NGワードの一覧がHTML内に堂々と配列のまま突っ込んであったのですよ。
お堅いサイトだってのに、ソースを表示したら上の方に、決してまともなサイトに書かれていてはいけない単語の羅列がですね、「ち××」とか「ま××」とか「う××」とか並んでいるわけですよ。
そりゃもう「弊社なにやってんの…」と天も仰ぐってものですよ。

私がこのことを知ったのは、とっくに納品されてサービスインが終わった後でのことでした。
そもそも私の関係している案件ではなく、たまたま別件のついでに発見しただけなので、事前に気付きようがありませんしね。

だが担当!お前は!何をやってたんだ!!

なおクライアントも気付いてなかったので、とりあえず見なかったことにしました。

今やそのサイトも消滅し、証拠も全て消えたので、まあ時効ということで。

rana_kualu
不労所得で生きたい。
https://twitter.com/rana_kualu
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした