#【ドメイン管理の重要性】
昨今、新型コロナウィルスをきっかけに、人々の生活や働き方は、大きく変わりました。
ウェブサイトや電子メールは、ビジネスにおける重要な役割を担ってきており、インターネットがなければ生活できない時代となりました。
企業としても、インターネットの設備環境、サイト管理が非常に重要な資産管理となり、怠ってしまった結果、ブランド毀損、多額の賠償金に繋がっているケースも散見されます。
(例)
・サイト取得日や管理者が分からない⇒不更新となり、サイトが急にダウン
・サイトが存在しているかも分からない⇒いつの間にか、第三者に新規取得され、模倣サイト
#【そんな中、、こんなシステムがあったら便利?】
サイト運営にあたり、ドメイン管理は、重要な役割であるが、各社・各部署どのドメインを取得、保持しているのか、分からないという事例が非常に多いです。
その為、サイト構築するたびに、ドメインを新規取得しています。
SEOの観点やセキュリティ上、あまりよろしくないです。
基本的に、サブドメインやディレクトリを活用する事がお勧めです。
そのような背景の中、各社がドメイン取得状況を一括で確認できるツールがあれば、非常に便利かつ、SEO対策やセキュリティレベルを強化できると感じた為、ドメイン管理検索に特化したLINE Botを作成しようと考えました。
#【作成した仕組み】
ドメイン検索を簡単にできる仕組み
(例)Facebookを含むなど
#【開発環境の準備】
・LINE公式アカウント開設
・LINE Developersアカウント登録
・Herokuの登録
・Node-REDインストール、アカウント登録
・API(https://domainsdb.info/?query=facebook)
#【各ノード詳細】
http inノード:ラインサーバーから送信されたメッセージ取得
「function」ノード(左側):受け取ったメッセージ格納
// LINEサーバーからの情報を「msg.line」に移動させる
msg.line = msg.payload;
// msg.payloadにメッセージ本体を入れる
msg.payload.domain = msg.payload.events[0].message.text;
return msg;
「http request」ノード:入力メッセージのすべてまたは一部を Web サービスに送信された要求として使用して、Web サービスと対話。
「function」ノード(右側):受け取ったメッセージと突合させて条件に合致したものをメッセージとして代入する
//http requestの結果を取得する
const result = msg.payload
// 返信したいメッセージの変数を定義しておく
let reply = 'こんにちは、Facebookを含むドメインは、下記ドメインになります';
// http requestの中身を配列ごとに順番に処理
result.domains.forEach(item => {
// 返信メッセージにドメイン名と改行を追記する
reply = reply + JSON.stringify(item.domain) + "\n";
});
// LINEサーバーからの内容を復元する
msg.payload = msg.line;
// 返信メッセージをreplyの中身にする
msg.payload.events[0].message.text = reply;
return msg;
「ReplyMessage」ノード:メッセージをラインサーバーに返信
#【動画】
#protoout
— YE0905 (@EgashiraYosuke) August 2, 2021
中々苦戦してますが、日々成長出来て嬉しい!
今週も頑張るぞ! pic.twitter.com/qJ6RF5mrA5
#【感想】
LINE Botを活用し、ドメイン検索システムを作成してみました。
今後は、ドメイン検索に加え、DNS情報や権利者情報、有効期限なども一括で確認できる仕組みを構築していきたいと思っております。
良い勉強になりました。