name:
url or email:
title:

anti spam key [16946391]:   


削除キー(8文字以上)

[掲示板]

anti spam key機能について / Sakura Mizuki 2009-08-11 (火) 00:11

こんばんは。

rNoteを使用しているSakura Mizukiと言います。

公式掲示板にも書いている質問なのですが、当サイトでも
Anti Spam Keyを実装しているようなので、どうやって
ページごとのランダムな数値を取得し、表示しているのか
気になっています。(認証方式はrNote本家とちょっと
違っていたので値の取得方式に関してだけの質問です。)

ちなみに私の方で実装したいのは本家と同じ6桁出力です。
ご教授いただけると幸いです。
[ コメントの受付は終了しています ]
1: hogemonia_mk2 (管理人) (08/11 15:08)
Sakura Mizuki さま

こんにちは。
EarthRiZE管理人のhogemonia_mk2です。

Mizukiさんの仰るように、このサイトEarthRiZEではAnti Spam Keyを実装しているのですが、このサイトで実装しているのは、値の変化しないものでした。(BBSとコメント投稿の部分は別の値を設定していただけでした...)

しかし、確かにMizukiさんの言うようなランダムに変化するほうがいいかな~、っと私も思いましたので、急遽ランダムに値を変更するプログラム(とまではいえないかもしれませんが...)を作成しました。

実際に掲示板の部分に組み込んで見ましたので、アクセス毎に6ケタのAnti Spam Keyが変化することをご確認ください。

以下が、その方法となりますが、rnote.phpを編集することになるので、何かあったときのためにバックアップなどをとるようにお願いします。また、何分私はマジメにPHPなどを勉強したことがなく、どこかで変なことをやってしまっているかもしれません。変なところなどありましたらご指摘頂けたら...と思います。

それではまず、以下の内容のファイルを作成し、random_anti_spam_key.phpという名前で保存してください。
(保存する際は文字コードがUTF-8となるように注意してください)
そして、rnote.phpと同じフォルダへアップロードしてください。

-----random_anti_spam_key.php------

<?php

//セッション開始
session_start();

//100000~999999のランダムに変わる数値を取得
$random_ask = rand(100000,999999);

//セッション変数に保存
$_SESSION['random_anti_spam_key'] = $random_ask;

//参照元のページにアンチスパムキーを出力
echo "document.write(\"".$random_ask."\");";

?>

-------------------------------------

今回は、rNoteのコメント投稿の部分にランダムアンチスパムキーを実装するということで、
entriesフォルダ内のwriteback.skinファイルの<p>url or email (option):~~~~とある下に

  <p>anti spam key [<script type="text/javascript" src="random_anti_spam_key.php"></script>]:   <input type="text" name="antispam_keyword_wb" size="50" maxlength="30" /><br/></p>

という行を追加します。

続いて、rnote.phpをエディタで開いて、
1行目の<?php直下の行(2行目)に
  session_start();
という行を加えてください。

次に、66行目辺りの// messagesとある付近に
  define(WB_ERR_BAD_ANTISPAM,'投稿キーが間違っています。投稿画面に戻ってやり直してください。');
という一行を追加してください。

その次に、506行目付近の// WriteBackの近くに
  $file = $_GET['u']; <514行目辺り>
     と
  DoublePostChk($name.$com); <516行目辺り>
という2つの行がありますので
この2行の間に

  //以下antispamkey用
  if($_POST['antispam_keyword_wb'] != $_SESSION['random_anti_spam_key']){error(WB_ERR_BAD_ANTISPAM,ERR_WB);}

という行を追加してください。

以上で、改造完了です。
rNoteの管理ツールから再構築を実行して、正常に動作するかどうかをご確認ください。

何分、急いで作って急いでアップロードしているので、変なことやっているかもしれませんがご勘弁の程を...
最新版のrNoteをダウンロードしてきて、上の方法でランダムアンチスパムキーを実装したところ、問題なく動作したので大丈夫だとは思います。
2: hogemonia_mk2 (管理人) (08/11 15:20)
私のところは6ケタのAnti Spam Keyが変化云々書いていましたが、先ほど8ケタに変更しました。
また、普通のコメント投稿の部分にもRandam Anti Spam Keyを組み込みましたのでご覧ください、です。

あと、いまさらながら、何だかMizukiさんの欲しい返答とは少し違った返答となってしまったかもしれません..。
3: hogemonia_mk2 (管理人) (08/11 16:59)
http://blog.mct-lab.com/rnote.php?u=site_history/history_20090811_01.htm
に関連記事をアップロードしました。
もしよろしければ、こちらのほうもあわせてご覧ください。
(といっても、ほとんどがここで返答させていただいたときに打ち込んだ文章の流用ですが...)
4: Sakura Mizuki (08/11 23:55)
返信ありがとうございます。

本家(rinn氏)のHTMLソースを見るとhidden属性で
ハッシュ値を持たせて、ハッシュ値と入力したキーのハッシュ値が
あっているかどうかで認証しているのでは…と考えています。

ちなみに元々の方式ではどうやってAntiSpamKeyの値を
取得されていたのでしょうか?(ここでも本家でもコメントを
書き込んだり削除するとAntiSpamKeyの値が変化したような
気がしますが…。)
5: hogemonia_mk2 (管理人) (08/13 17:09)
Sakura Mizuki さま

こんにちは&こんばんわ。
EarthRiZE管理人のhogemonia_mk2です。

Mizukiさんの仰っている方法(本家と同じ、「ハッシュ値を持たせて、ハッシュ値と入力したキーのハッシュ値が
あっているかどうかで認証」する方式)での、ランダムアンチスパムキー認証のrNote用プラグインを作成しました。

現在、公開ページの準備をしていますので、今しばらくお待ちください、です。
(説明下手なので、コードを書くという方法でしかお手伝いできませんでした。)
6: hogemonia_mk2 (管理人) (08/13 22:07)
Sakura Mizuki さま

こんばんわ&こんにちは。
EarthRiZE管理人のhogemonia_mk2です。

少々予告から遅くなってしまいましたが、以下のページでMizukiさんの仰っている方法(本家と同じ、「ハッシュ値を持たせて、ハッシュ値と入力したキーのハッシュ値があっているかどうかで認証」する方式)での、ランダムアンチスパムキー認証のrNote用プラグインを公開しました。

http://blog.mct-lab.com/rnote.php?u=program/rnote_plugins/rask.htm

もしよろしければ、一度ご覧ください。
また、EarthRiZEのコメント投稿部分と掲示板書き込み部分にも導入しましたので、このページのHTMLソースの方もあわせてご覧ください、です。

それでは、失礼します。
今回は私も良い勉強になりました。
何かありましたら、またどうぞ~、です。
(もっとも、これからは少々バタバタしていることが多いので、対応が少し...というか大分遅くなってしまうかもかも、です。)

[掲示板]

無題 / やまやま 2009-05-02 (土) 15:50

管理人様、

コメントありがとうございます。
現在仕事の忙しさからチェックできません。
なるべく早くご指摘の点を調べてみます。

やまやま
[ コメントの受付は終了しています ]
1: hogemonia_mk2 (管理人) (05/05 09:58)
やまやま 様

こんにちは、管理人のhogemonia_mk2です。
お仕事、お疲れ様です。

また何か解らないことがありましたら、書き込みをしていただけたら、自分の能力の許す範囲でお手伝いできると思いますので。
それでは、また。

[掲示板]

OpenVPNとauデータ通信機能 / やまやま 2009-04-21 (火) 12:18

貴サイトを参考にさせていただいてOpenVPN接続ができるようになりました。
ありがとうございました。

ところが、最近購入したauデータ通信機能内蔵のPCでのことですが、
LAN経由ですとファイル共有できるのですが、同データ通信機能ですと
PINGは通るものの、なぜかファイル共有ができません。
何か設定についてアドバイスいただければさいわいです。
少し設定を詳しく書きます。設定を書き加えているところは、こちらのサイト
での設定例と違っているところです。

ServerPC:WindowsXP, proto tcp-server
ClientPC:WindowsVista, prot tcp-client

プロトコルをTCPにしたのは、auのサポート殿の推奨によるものです。大きすぎる
データが通らない場合があるとのことで。特にポート(1194)制限はしていないとのことです。
プロバイダのJ:COM殿もポート(1194)制限はしていないとのことです。

何かご助言いただければさいわいです。
[ コメントの受付は終了しています ]
1: hogemonia_mk2 (管理人) (04/22 19:24)
やまやま 様

こんにちは、管理人のhogemonia_mk2です。

さて、
「auデータ通信経由でVPNサーバにアクセスした場合、PINGは通るがWindowsファイル共有に接続できない」
とのことですが、恐らくサーバ側のファイアウォールの設定に問題があるのだと思われます。

「LAN経由ですとファイル共有できる」とのことですが、「VPNサーバが存在するLAN内で、VPNサーバに接続し、VPN経由でファイルサーバ(恐らくVPNサーバとして動かしてるのと同じサーバでしょうか?)のVPNのIPアドレスを指定した場合、アクセスができる」という意味ではなく、「ファイルサーバが存在するLAN内で直接ファイルサーバのアドレスを指定した場合、アクセスが出来る」という意味でしょうか?
(↑↑すみません...なんだかややこしい表現になってしまいました...)

とりあえず、先ほど上で書きましたように、やまやま様の書き込みの内容から推測できる問題はファイアウォールの設定のようなので、以下の設定(1番 or 2番、ファイルサーバの環境に合うもの)を試してみてください。

 1.ファイルサーバ機にセキュリティーソフト(Nortonやウイルスバスター、Kaspersky、ESETなどなどのファイアウォールソフト)を導入されている場合は、導入されているファイアウォールソフトのファイアウォール設定で以下のポートに対して通信通過許可の設定をしてください。

   ・ TCP 445
   ・ UDP 445
   ・ TCP 139
   ・ UDP 138
   ・ UDP 137

  (クライアントにWindows 2000, XP, 2003 Server, Vista以上のOSしか存在しない場合はTCP/UDP 445 だけでもいけるかもしれません。)
  (可能であれば接続を許可するリモートアドレスに、クライアントのVPNアドレスとVPNサーバのVPNアドレスを指定する様にしてください。セキュリティーソフトによっては指定できないかもしれません。また、指定すると動かなくなったりする場合はリモートアドレスの制限はかけなくても構いません。)

 2.もし、ファイルサーバ機に何らかのセキュリティーソフトを導入されていらっしゃらないのであれば、サーバ機で「スタート」→「コントロールパネル」→「Windowsファイやウォール」とたどり、「例外」タブ内の「ファイルとプリンタの共有」のチェックを入れてOKボタンをクリックして閉じてください。
  (ただ、LAN内でのアクセスは出来たとの様な書き込み内容だったと思うので、この2番ではなく、1番の方なのかな...と推測しています。)

あと、書き込みの内容からでは判断できなかったのですが、
もし上の方法で直らないのならば、
 ・サーバ機に導入されているファイアウォールの種類(Windowsファイアウォール、Norton Internet Securityなど)
 ・UDP接続の場合はどうだったか(vpn接続は可能だったか, ファイル共有は可能だったか)
を書いていただければ、もう少しアドバイスできるかもしれません。

それでは、色々大変かもしれませんが頑張ってください、です。

追記:何分、最近バタバタとしているため、少し応答が遅れるかもしれませんがご了承の程を...
2: hogemonia_mk2 (管理人) (04/22 21:43)
やまやま 様

こんにちは、hogemonia_mk2@管理人です。

さてはて、先ほど上のコメントを入れましてから30分後ぐらいに、Webサーバのご機嫌が斜めになってしまい、しばらくはサーバメンテナンスの為EarthRiZEにつながりにくくなることがあります。
ご迷惑をおかけしますが、よろしくお願いします、です。

あと、上のコメントの補足となるのですが、
Windows VistaでOpenVPN(OpenVPN GUI)を起動する際は、OpenVPN (OpenVPN GUI)のショートカットの上で右クリック→管理者として実行(だったかな?今、WindowsXPでコメントを書いているので少しばかり表記が違うかもしれません...)で起動するようにしてください。
Vistaでは普通にショートカットのダブルクリックやスタートアップからの起動ではうまくVPNサーバに接続できないことがあった記憶があります。

それでは、VPN経由のWindowsファイル共有の利用、頑張ってくださいね。

でわでは、失礼します、です。

削除キー