Enkai-Net  btuの毎日を綴ります アクセス数:004477回
 日誌(HOME)> - web技術 » etc
ページ: [ 1 | 2 ] next ->> | 投稿

WEBサイトのスパムメール対策

執筆:2007年01月15日 月曜日 01:47 | 分類: web技術 » etc | 編集

WEBサイトを運営して、一番ありがたいのが読者からの反応=メールによる連絡です。当サイトも全く個人的なグループ内専用だった頃は検索ロボットを拒否して素直にメールアドレス(フリーメール)を公開していたのですが、サイトをブログ形式に変更したと同時に積極的にロボットを受け入れるようにした結果、徐々にスパムメールが来るようになりました。

そこでまず取った対策が、メールアドレスを非公開にし、よくあるメールフォームでメールを受け取る方法。でも簡単だけど、専用ソフトによる自動投稿への対策は出来ないので、WEBで管理出来るようなフリーのCGIを利用するようになりました。もちろんちょっとだけ改造して。見かけはメール投稿フォームですが、実際はBBSへの投稿になっています。すなわち、私が外出中でも、BBSに返信書き込みをすれば、返信メールを送信するようになっています(この部分が私のオリジナル改造)。

しばらくは良かったんですが、来ました!専用ソフトによる自動投稿のスパム。内容的には全く意味のない単なる悪戯?嫌がらせ?なんですが、うっとうしいことには違いない。私への技術的挑戦と受け止め、技術的に対策する事にしました。罠を仕掛けてデータ収集した結果、自動投稿ソフトは直接CGIへデータを受け渡すことがわかったため、

これらの対策を施しました。よくあるIPアドレスを指定して拒否することは、簡単ですがはっきり言って全く無効です。IPアドレスの偽装は簡単ですから、相手は匿名proxyなどを使ってランダムなIPアドレスで攻めてきます。匿名proxyを使った手動投稿の多くは上の2つで回避出来ましたが、その後専用ソフトを使ったと思われる連続投稿に攻められ、3つ目の対策を行いました。これは効果てきめんで、先日までは完全にシャットアウト出来ておりました。

ところが、これを上回る投稿が出現。繰り返して書きますがCGIで書いた投稿フォームで、上記の対策をすり抜けて投稿してくる強者です。すなわち、投稿するための画面を開き、さらに数秒後にフォームにコメントを書いて投稿してくるんです(もしかしたら、本当に手作業で投稿しているのかもしれませんが)。これこそ、私への技術的挑戦!さらに、簡易的ですが対策を追加する事にしました。

これで、海外からの投稿はほぼシャットアウトされると思います。

蛇足ですが、スパム投稿対策の王道である禁止ワードチェックは、使わせて頂いているフリーのCGIが元々対応しておりました。不思議ですが、今のところ、そこに引っかかる投稿はないんですよね。コメントが数文字の、明らかに無意味な投稿が来るんです。これが、私への挑戦状と受け止めている大きな理由なんですが・・・。ホントは、数文字の投稿を無視するのが一番簡単だし、文字も決まってるからその文字を禁止ワードで拒否するのがもっと簡単なんですが。

スパム投稿対策のアルゴリズムを公開するのは手の内を明かすようでやめていたのですが、スパム投稿はほとんどが英語だから日本語で書いても読めないだろうし、黙って対策するより、同じことで困っている人がたくさんいるので、公開することにしました。罠を仕掛けてログを取れば思いつく簡単なアルゴリズムですから、隠すほどのことでもないですしね。困っているみなさん、あなたのBBSのCGIにも実装して下さい。

※ロボット検索用に書いておきます。当初の対策で拒絶出来たワードは"abc123"、それで回避出来ない強者のワードは"Hello world"。試しに前者でググってみて下さい。連続投稿され、手に負えず放置状態になっているBBSが大量に見つかる事でしょう。逆に言えば、スパム対策を行っていないBBSを淘汰するためにやってるのかな?そんなことを考えつつ上記ワードで検索してますが、まだそれらの解説ページは見つかっていません。誰も書いてない事が、私がこの記事を書く事にした理由の1つなんですが。誰か情報下さい!

Google ローカル

執筆:2006年02月06日 月曜日 00:36 | 分類: web技術 » etc | 編集

前回書いたGoogle Earthは地球儀から衛星写真を見るだけのお遊びに近い地図でしたが、実はもっと実用的な地図がBETA版(試供版)ながら、日本版Googleから提供されています。

Googleのホームページから、more >>マップとたどると「Googleローカル」と言うサービス名の地図サービスにたどり着きます。「マップ」でなく「ローカル」をクリックすると、同名のサービスながら、使い勝手が少し違うので注意して下さい。また、BETA版(試供版)なので、執筆している今現在はこのような動作ですが、突然サービス内容が変更となる可能性が大きいのでご注意願います。

この地図には、Googleで検索して出てくるお店や地名などの情報が組み込まれていて、例えば「大阪ドーム」などの建物名で検索するとその場所が表示されたり、「??工務店」などの会社名で検索すると該当するリストが表示され、その中で探したい場所を選ぶとその場所が表示されたりする優れものです。もちろん、「奈良市針町」など住所を入力すると、直接その場所が地図表示されます。

これだけでも十分過ぎるぐらい役に立つのですが、この地図の面白い所は、英語版Google Earth(衛星写真)とリンクされていて、地図が表示された状態で「マップ」「サテライト」をクリックするとほぼ同じ場所の地図と衛星写真が交互に見れることです。衛星写真の状態で表示場所を移動して地図に戻ったらちゃんとその場所の地図が表示されます。Google Earthの致命的な欠点を見事に克服しているし、動作も軽く使いやすいので、ベータ版で終わらず、是非本格運用にして欲しいと思います。

「ローカル」と「マップ」の両方共ベータなので、テストの結果で両方の機能を組み込んで正式運用になるのかな・・・なんて勝手に想像しています。ほとんど同じですが、「ローカル」はお店を探す方に重点を置いているのに対し、「マップ」の方は地図を見ることに重点を置いているようです。

Google Earth

執筆:2006年02月05日 日曜日 22:48 | 分類: web技術 » etc | 編集

検索で有名なGoogle(グーグル)が最近、検索やデスクトップサーチ以外にも色々な機能を提供してくれています。Googleのホームページmore >>をクリックすると開くメニューで提供してくれているのですが、今回はここにない、英語版でしか提供していないGoogle Earthを体験してみました。

これは衛星写真で構成された地球規模の地図で、インストールするとその名の通りまず地球儀が表示されます。マウス操作でグルグル回して見たい地点をどんどん拡大して行くと、衛星写真がどんどん拡大され、地点によっては車の形や色が判別出来るほど鮮明に表示されます。軍事用途で使われてる写真はもっと鮮明に見えているはずで、こんなので監視されていると思うとちょっと怖い・・・もちろん私は監視されるような身分ではありませんが^^;

ただ、インターネット経由で詳細な画像を次々にダウンロードしながら表示しているため動作が非常に遅く、また地名での検索が出来ず写真の地形から探すので、道路地図には使えず、知っている場所の衛星写真を見る程度=完全なお遊びの用途にしか使えません。しかしながら、絵で描いた地図とは違い実際の町の状況がつかめるので、自宅近くを見ていると、まっすぐ伸びていると思っていた道路が意外と曲がりくねっていたり、ただの山だと思ってた場所が前方後円墳だったりして、意外な発見を楽しめます。

英語版Googleの中の、http://earth.google.com/からダウンロード出来ます。全部英語ですが、Downloadや機種名を順にクリックしていくだけなので、簡単な英語力さえあれば使えると思います。

Googleデスクトップ

執筆:2006年01月25日 水曜日 21:48 | 分類: web技術 » etc | 編集

最近流行のGoogleデスクトップをインストールしてみました。(インストールはコチラから)

デスクトップサーチとは

サーチエンジンと言えば、YahooやGoogleなどの検索サイトが有名ですよね。これはインターネットの情報を整理して、見たい情報が含まれたサイトを検索するサイトの事です。デスクトップサーチとはこれをさらに発展し、パソコンに保存された情報も整理し、瞬時に検索出来るようにしたツールのことです。

Googleデスクトップを使った感想

インストール後の初期設定では、画面の端にWindowsのメニューの様に表示しておき、そこにニュースやメールを表示するようになっています。最新情報が次々と更新され表示されるのは便利なのですが、表示範囲が狭いので見づらく、新しいニュースが来る度に勝手にチラチラ出てくるのが邪魔で一旦はアンインストールしてしまいました。

その後、もう一度調べるとカスタマイズ出来ることがわかって再インストール。今度は、「デスクバー」として表示してみました。「デスクバー」とは、Windowsのメニューバーの端に小さく検索窓だけを表示しておくもので、そこにマウスを持って行って窓に検索文字を入力すると、インターネットやパソコン内から必要な情報を探し出して表示してくれます。つまり、「調べたい」っと思った時にパソコンが起動していれば、いつでも情報が探せるのです。コレは便利!Firefoxブラウザと共に、手放せないツールとなりそうです。

Googleデスクトップとは

Googleデスクトップは色々な形で表示出来、また情報がどこにあるかに関係なく検索して表示します。始めに設定しておくと、興味があるニュースや情報が更新されると勝手に表示して教えてくれるので、「情報は探しに行くもの」から「情報は待ってれば勝手に入ってくるもの」に変わってしまいます。一度使ってみると、パソコンの使い方まで根底から変えてしまう驚異のツールだと言うことがおわかり頂けると思います。

ただ、私が初めに失敗したように、初期設定が何でも表示するようになっているため、一歩間違えるととんでもなく邪魔なツールになってしまいます。インストール後はまず何も表示しないようにし、単なる検索窓にしてしまうことをオススメします。その後、使い慣れた頃に音楽やスポーツなど興味のある情報を徐々に表示するようにカスタマイズ(設定変更)すれば、本当に便利なツールになると思います。

ブラウザキャッシュの制御

執筆:2005年10月16日 日曜日 23:11 | 分類: web技術 » etc | 編集

WEBサイトを閲覧する際に、ブラウザの機能でデータをパソコンに保存しています。で、次に同じページを閲覧する時には表示を早くするためにそのデータを利用してインターネットからダウンロードしない仕組みになっています(ブラウザキャッシュ)。ところが、そのデータが悪さをして、掲示板など頻繁に更新されるページは、「実際には新規書き込みがあるのに表示されない」なんて不具合が生じることがあるのです。本来ならば、ブラウザがちゃんとファイルを比較して表示すべきなのですが、うまく動作しないことも多いようです。そうなると、「更新」アイコンをクリックしても更新されません。

そう言った不具合を、WEBページ側で解消するテクニックを紹介します。

htmlのヘッダ〜内に、

 
 
 

と記述すると、そのページはキャッシュされません。

上の2行がブラウザに対しキャッシュさせないための命令、下の1行がブラウザに対しキャッシュを捨てる日付を指定する命令(過去の日付を指定することですぐに捨てさせる)です。

ブラウザのバグや機能差で必ず機能するとは限りませんが、有効な手段ではあります。

自己紹介と方針とメールアドレス

執筆:2005年10月16日 日曜日 22:51 | 分類: web技術 » etc | 編集

ホームページの様式を一新してからも、プロフィールだけが古いまま残っていました。また、少し前にスパムペール対策のためにメールアドレスの公開を中止し、メールアドレスを記載したプロフィールも公開を中止しておりました。

そこで、やっと今日、プロフィール=自己紹介ポリシー=方針を作成しました。また、メールアドレスは非公開ですが、CGIを使ったメール送信フォームを作成しています。

この3つはWEBサイトに必須だと考えているので、やっと一人前のWEbサイトになった気分でホッとしています。

CGIに引数を渡して利用する

執筆:2005年09月12日 月曜日 02:46 | 分類: web技術 » etc | 編集

この2日間、仕事の合間に久々にCGIを触っていました。その中で、CGIに引数を渡す方法と利用する方法が手元の資料になく、ネットの検索でも調べるのに時間が掛かったので、学習したことを備忘録としてまとめておきます。

CGIへ引数を渡す

URLを指定する際、「http://****.cgi?abc」のように、?に続けて単語を記述します。複数渡す際は、「http://****.cgi?aaa+bbb」のように、セパレータとして+を用います。

CGI内で利用する

特殊配列変数@ARGVに全ての引数が格納されます。全体をそのまま使う時・または1つしかない時は「@ARGV」とそのまま記述すれば変数のように利用出来ます。また、複数の引数のうちの1つを使う時は、配列の1つを指定するわけですから、引数の1番目は「$ARGV[0]」2番目は「$ARGV[1]」と記述すれば利用出来ます。ここで、@ARGVは配列全体を、$ARGV[*]は配列の構成1つを指すことに注意します。

統一感を出したホームページを作るツール

執筆:2005年05月14日 土曜日 03:07 | 分類: web技術 » etc | 編集

リンク集ページを新しく作るにあたり問題発生。YukiWikiを使うとバナーリンクがうまく張れないんです。色々頑張ったものの既成CGIの限界を感じ、即席でWEBページ送信CGIを作ってしまいました。

動作は非常に簡単、まずCSSファイルを送信、次にメニュー部分を送信、次に任意の指定ファイルを送信するだけです。つまりは、共通部分は既にあるファイルを使うので、記事部分(今回はリンク集の部分)だけのhtml文を書けば簡単且つ、統一感を出したページが作れるワケです。記事部分はhtmlファイルをそのまま送るだけなので、柔軟性はピカイチ。今までこんなCGIが公開されていなかったのが不思議なぐらいです。CGI自体は数行の簡単なモノなので、整理出来れば公開したいと思います。

シスアド受験

執筆:2005年04月17日 日曜日 23:50 | 分類: web技術 » etc | 編集

現役の学生達に混じって、初級システムアドミストレータ(=シスアド)を受験しました。半年ほど前に急に資格が取りたくなり、どうせなら会社の援助がある資格を・・・と出張扱いの受験です(^^ゞ

勉強熱が高まっている時はいいのですが、日数が経つごとに熱が冷め、気が付けば試験の1週間前。買った教科書は数ページしか読んでない(T_T) 慌てて読み出したものの、結局夜しか時間が取れず、気ばかり焦ってるのに読み出したら眠気には勝てず・・・なんてことを7回繰り返し、昨夜にはなんとか読破!さて寝よう・・と受験票を見ると「げっ!写真がいるのを忘れてた!!」夜中にコンビニに走ったのでした。

で本日受験、なんとか格好だけはつき、自己採点ではギリギリライン。会社に申請してるので落ちるわけにも行かず、合格発表までハラハラドキドキの1ヶ月となりそうです。

午後は実際の場面を想定した読解力・判断力を問われる長文問題が7問出題されるのですが、若い学生は諦めが早いですね。見た瞬間に理解することを諦めるのか、はたまた問題になれててすぐに理解してしまうのかはわからないのですが・・・。150分の試験時間の内、40分経過したら退席可能なのですが、その合図の瞬間からゾロゾロ退席し始め、最後まで粘ったのは私を含めたオジサン連中と一部のまじめそうな学生のみ。私なんて、最後の最後のギリギリまで問題を解いていて、時間が足らないぐらいだったのに。

CSSファイル使い分け

執筆:2005年03月15日 火曜日 07:57 | 分類: web技術 » etc | 編集

黙々と更新を続けている当サイトですが、見た目は全く変わっていません^^;

先日、複数のCSSファイルを同時に読み込む事に断念したのですが、今回はどのページも一つのCSSファイルを使い、内部を4つのパートに分けて「全体」「メニュー」「日誌」「記事」と使い分けることにしました。つまりは、一つのCSSファイルを書き換えるだけでサイト全体のデザインが変更出来るようになった次第です。

これで今回の目標「デザインの統一」「更新の省力化」はほぼ達成し、今後は「シンプルでスマート」を目標に手を加えたいと思います。それと、今回蓄積したノウハウを忘れないうちに記事にまとめないといけませんね。


[ 1 | 2 ] next ->> | 投稿