リストル:企業データベース開発日誌 第9話「見えない門番」「403」エラーはなぜ起きたのか。ログに原因が書かれていない通信トラブルの解決法〜

リストル:企業データベース開発日誌 第9話「見えない門番」「403」エラーはなぜ起きたのか。ログに原因が書かれていない通信トラブルの解決法〜 企業DB開発日誌

💡Listoru(リストル)は、Web上の情報から企業の営業リストを自動で収集・作成するツールです。
この「企業DB開発日誌」では、数ある機能の裏側に隠された、私たちの試行錯誤を綴っていきます。
エラー画面には出ない問題や、データとの静かな対話から見えてきたもの。
正解のない開発現場のリアルな空気を、少しだけおすそ分けさせてください。
今日もリストルの裏側で起きた、ひとつの物語をお届けします。

営業リスト収集ツール『リストル』の無料お試しはこちらから👆️
営業リスト収集ツール『リストル』の無料お試しはこちらから👆️

目次

  1. 何も変えていないのに突然返ってきた「403」
  2. 「時々通らない」という厄介な症状とデータに見つけた共通点
  3. 仮説の検証。わざと似た形を送って見つけた「門番」
  4. 説得するより形を変える。文字列の置き換えによる回避
  5. 両側とも正しいときは「あいだ」に何かがいる

何も変えていないのに突然返ってきた「403」

リストルは、いくつかのツールでできています。

  • 企業データを預かるもの。
  • フォームへ文面を届けるもの。
  • 情報を集めてくるもの。

これらは、たがいにデータをやりとりします。
集めた情報を送る。送った結果を返す。
つながっている部分は、どちらの持ち物でもありません。
だから、見張る人も決まっていませんでした。

その通り道が、ある日、突然ふさがりました。

こちらの作りは、変えていません。
相手の作りも、変わっていません。

昨日まで通っていたものが、今日は通らない。
返ってくるのは、短い数字だけでした。

403。

「あなたには、これを行う権限がありません」

画像

そういう意味の返事です。
誰がそう言っているのかは、書いてありません。
どの権限が、どう足りないのかも、書いてありません。
断りの言葉だけがあって、断った者の姿が見えない。

突然、というのが、いちばん困る形です。
こちらが何かを変えた直後なら、戻せば元に戻ります。
何も変えていないのに変わったときは、戻す場所がありません。

「時々通らない」という厄介な症状とデータに見つけた共通点

最初に疑ったのは、こちら側の権限設定でした。

送る側と受け取る側で、合言葉を決めています。
それが食い違えば、断られます。

確認しました。合っています。
手で送ってみると、通ることもあります。

通ることもある、というのが、いちばん厄介でした。

全部通らないなら、設定です。
時々通らないなら、別の何かです。

時々、という言葉が付くだけで、調べものは急に難しくなります。
再現しようとすると、通ってしまう。
あきらめかけたころに、また止まる。
相手の輪郭が、なかなかつかめませんでした。

通るものと、通らないものがある。
そうなると、違いは中身にあります。

まず、時間帯を疑いました。
特定の時間だけ混んでいるのかもしれない。
記録を並べると、時間との関係はありませんでした。
朝でも夜でも、通るものは通り、通らないものは通らない。

次に、送る量を疑いました。
大きいデータだけが弾かれているのかもしれない。
これも違いました。
小さいものが弾かれ、大きいものが通ることがあります。

時間でもない。量でもない。
同じ条件で送っても、結果が分かれる。

画像

残っているのは、1つだけです。

送っているデータを並べて、比べました。
通ったもの、通らなかったもの、それぞれの中身を。
並べてすぐに分かる違いは、ありませんでした。
どちらにも、同じような会社の、同じような情報が入っています。
見るべき違いは、本当にあるのか。
そう疑いはじめたころ、ようやく、ひとつ目に留まりました。

通らないデータには、記号が多い。
会社の情報には、いろいろな文字が入ります。
括弧、引用符、山括弧、スラッシュ。
住所にも、備考にも、当たり前に出てきます。
その並びが、ある種の攻撃の形に、少しだけ似ていました。

仮説の検証。わざと似た形を送って見つけた「門番」

ここで、仮説を立てました。

こちらと相手のあいだに、何かを見張っている仕組みが立っているのではないか。
危ないデータを見つけたら、そこで止める。
そういう役目のものです。

この仮説には、根拠がありました。
エラーの返り方が、こちら側の作りと合わないのです。
こちらの受け口は、権限が足りない場合、決まった形の返事を返すように作ってあります。
返ってきていたのは、その形ではありませんでした。
つまり、この返事は、こちらの受け口が出したものではない。
自分たちが書いていない返事が返ってきたなら、書いた誰かが、途中にいます。

確かめる方法は、ひとつしかありませんでした。
わざと、攻撃らしく見える形のデータを送ってみる。
中身は無害な、ただ形だけが似ているものを。
これで通ってしまえば、仮説は外れです。
また、記録を並べ直すところからやり直しになります。

送りました。
返ってきたのは――

403。

門番がいました。

画像

こちらが置いたものではありません。
相手が置いたものでもありません。
通り道の途中に、はじめから立っていたものでした。

昨日まで通れていたのは、門番が居なかったからではなく、たまたま、止められていなかっただけでした。
役目としては、正しいのです。
危ないものを止めるために、そこにいる。
その働きのおかげで、防げているものが確実にあります。

問題は、こちらの正しいデータが、危ないものと同じ形に見えてしまったことでした。
そしてもうひとつ、事情がありました。
この門番は、細かい調整ができません。
入れるか、切るか。それも、通り道のまとまり単位でしか選べない。
止めた記録も、こちらからは見えません。

つまり、何を止めたのかを、あとから確認できない。
「通らなかった」という事実だけが残ります。

説得するより形を変える。文字列の置き換えによる回避

ここで、方針を決めました。
門番を説得するのは、やめる。
こちらのデータの形を、変えることにしました。

送るときに、中身をまるごと1つの符号に置き換える。
記号も、括弧も、山括弧も、すべて無害な文字の並びになります。

受け取った側で、元に戻す。

門番から見れば、ただの文字列です。
攻撃の形には、見えません。
中身は1文字も変えていません。
運び方だけを変えました。

画像

もちろん、これは回避です。
門番の判断を、こちらが変えさせたわけではありません。
危ない形に見えないようにして、通しているだけです。
だから、こちらの中身は、こちらで確かめます。

受け取った側で、内容の形を確認する。
おかしなものが混ざっていれば、そこで弾く。
外の門番が守ってくれることを、前提にしない。

もともと、そうあるべきでした。
たまたま守られていただけの状態を、安全だと思い込んでいたことになります。
守られていたことに、気づいてすらいませんでした。
気づかないまま受けている守りは、気づかないまま、失うこともあります。

両側とも正しいときは「あいだ」に何かがいる

この件で、考え方が1つ変わりました。

システムを作っていると、自分たちが書いたものと、相手が書いたものだけを見てしまいます。
けれど、そのあいだには、たくさんのものが立っています。
通信を守るもの、速度を上げるもの、記録を取るもの。

どれも、良かれと思って置かれています。
そして、こちらの都合は知りません。

「両側とも正しいのに、うまくいかない」ときは、たいてい、あいだに何かがいます。
そして、あいだにいるものは、記録を残しません。
正確には、残していないのではなく、こちらから見られないところに残しています。

こちらの記録には「送った」と書いてある。
相手の記録には「受け取っていない」と書いてある。
どちらの記録も正しく、そして、どちらにも原因が書かれていない。
こういうとき、記録をいくら読み返しても進みません。
進むのは、仮説を立てて、試したときだけでした。
今回でいえば、「わざと似た形のものを送ってみる」という1回です。

記録を読む時間より、1回試すほうが早いことがあります。
ただし、試すときには気をつけました。
攻撃らしく見える形のものを送る、というのは、やり方を間違えると、本当に迷惑をかけます。

送り先は、自分たちのところだけにしました。
中身は、まったく無害なものにしました。
回数も、必要最小限にしました。

そして、事前に何をするかを社内で共有しました。
確かめるための行為が、確かめられる側から見て、どう見えるか。
そこを考えずに動くと、原因を探しているうちに、自分たちが原因になります。

見えない相手は、説得するより、自分の形を変えるほうが早い。
門番は、いまもそこに立っています。
こちらのデータは、その前を、何食わぬ顔で通り抜けています。
そして、こちらは中身を、自分で確かめています。
門番に見えないものが、安全だという意味ではないからです。

━━━━━━━━━━━━━━━━━━━━━━━━
次回予告

第10話「届かない結果」

送信した結果を、企業データ側へ返す。
それだけの仕組みでした。

本番1,155社分で、返ってきた結果は0件。

両側とも、正しく動いていました。
━━━━━━━━━━━━━━━━━━━━━━━━

リストルは、今日もどこかを直しています。


→ 成果を出す営業リスト3000件が無料で試せる👇
📝営業リスト収集ツール「リストル」

リストル専用:問い合わせフォーム送信ツール『フォームリーチ』詳しくはこちら👆️
あなたの営業活動を応援します! 営業リスト作成にお困りではありませんか?

営業リスト収集ツール「Listoru(リストル)」| 最短3分で3,000件取得営業リストで

タイトルとURLをコピーしました