OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

伝言板での騙り行為を禁じたい

  • 困ってます
  • 質問No.244905
  • 閲覧数53
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 98% (378/383)

伝言板で、管理人の名前を使っての投稿を禁じたいのですが、どうすれば良いでしょうか??

そういう(管理人のHNを使う際は別のコードで投稿する…みたいな)機能が初めから付いてる伝言板もあるみたいですが、できれば現在の伝言板は変えたくありません。だから、「その機能だけ」っていう"拡張用CGIプログラム?"などがあれば嬉しいです。

お心当たりございましたらヨロシクお願いいたします!m(_ _)m

P・S::CGIに関して全くの無知ですけれど、もし今のプログラムに少し手を加えるだけで、私でも簡単に、そういった機能を付加することができるのであれば、その方法でも構いません。( 自信ないけど頑張ってみますので。)
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル8

ベストアンサー率 68% (17/25)

「プチ☆ボード」のソースで

# 管理者用マスタパスワード (英数字で8文字以内)
$pass = '0123';

としている場合、 No.2 のように設定すると「yuka_chan」の名前で投稿する際のパスワードは「0123」でなければ投稿できなくなります。

私のローカル環境では、これでちゃんと動いています。もう一度ソースを確認してください。

CGI をテストするなら、実際にウェブサーバーに置く前にローカル環境でテストすることをおすすめします。
Windows 上で CGI を動かす方法は、下記サイトを参考にしてください。
http://tohoho.wakusei.ne.jp/wwwcgi6.htm


蛇足ですが、禁止している単語を削除したり、別の単語に変換することも可能です。

$value =~ s/氏ね//g;

これで「氏ね」という単語はすべて削除されて投稿されます。別の単語に変換するには

$value =~ s/氏ね/頑張れ/g;

のように記述します。「$value」はスクリプトによって異なる場合があります。
「プチ☆ボード」であれば、666 行目くらいの「# 一括削除用」の前がいいと思います。


考えられる対策はいろいろありますが、一番大切なことは荒らしが来ないような雰囲気を作ることや、荒らしに反応しないことです。
お礼コメント
yuka_chan

お礼率 98% (378/383)

>> 私のローカル環境では、これでちゃんと動いています。

はい。MtHillが教えてくださった通りにやったら、その点に関しては ちゃんと成功したんです☆ ただ何故か普通の投稿が出来なくなっちゃって。(^^;;ゞ …でも「プチ☆ボード」は休止中だったので特に問題ナシです。ちょっとじっくり格闘してみます。

>> ローカル環境でテストすることをおすすめします。

以前それをやろうとして失敗しました。どーしてもローカルでは動いてくれず☆ …また暇をみてチャレンジしたいです。

>> 荒らしが来ないような雰囲気を作る
>> ことや、荒らしに反応しないことです。

…確かに。最近、管理を怠っていました。(反省) うちの来訪者、子供しかいないから、なんか何されても可愛いばっかりで、ちょっと甘やかしてたかなぁ?って感じです。悪気は無いと思うんですが。とりあえず私の名前を使って遊ぶのだけは止めてもらわないと。。。

MtHillさん、本当にありがとうございました!!いろいろ頑張ってみます。

…ん~~。"拡張用"なんて、やっぱり無かったのかな。(残念!)
投稿日時 - 2002-04-02 00:19:15
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル8

ベストアンサー率 68% (17/25)

> 管理人の名前を使っての投稿を禁じたい のご質問に回答します。 「伝言板」の詳しい内容がわからないので、KENT WEB さんの掲示板「Light Board」を 例に解説します。 たとえば 投稿時の名前が「管理人」で 投稿時のパスワードが管理用のパスワードに一致しなかったらエラーを返す という処理をさせるには、フォームのデコード処理のあとに次のように記述します。 if ...続きを読む
> 管理人の名前を使っての投稿を禁じたい

のご質問に回答します。
「伝言板」の詳しい内容がわからないので、KENT WEB さんの掲示板「Light Board」を
例に解説します。

たとえば
投稿時の名前が「管理人」で
投稿時のパスワードが管理用のパスワードに一致しなかったらエラーを返す
という処理をさせるには、フォームのデコード処理のあとに次のように記述します。

if (($name eq "管理人") && ($pwd ne $pass)){
&error("パスワードが違います。");
}

このように記述しておくと、他人が「管理人」というハンドルで投稿した際に
投稿できなくなります。

上記の内容がよくわからない場合は、伝言板の詳しい内容を補足してください。
お礼コメント
yuka_chan

お礼率 98% (378/383)

ご回答ありがとうございます☆

>> フォームのデコード処理のあと

えーと。。。( ̄∇ ̄;;)??
「デコード」って…?(汗;

if (($name eq "管理人") && ($pwd ne $pass)){
&error("パスワードが違います。");
}

これ↑の「pass」ってとこに自分で決めたパスワードを入れれば良いのですか??

>> 伝言板の詳しい内容を補足してください。

ご親切にどうもです(涙;) …でも私、調子に乗ってCGIを沢山設置しちゃってて、それ全部に付けたいから。。。
ゼンブの付け方を聞くなんて迷惑だし。

…でも一応 種類だけ。(ぉぃ)

★「Tacky's Room」の「もっと書き込み隊」
http://tackysroom.com/page_cgi2.htm

★「CGIROOM」の「らくがきボード」
http://cgiroom.nu/list/bbs/scribble/index.htm

★「CGIROOM」の「しりとり」
http://cgiroom.nu/list/game/siritori/index.htm

★「KENT WEB」の「ChatRobo」
http://www.kent-web.com/chat/index.html

★「KENT WEB」の「プチ☆ボード」
http://www.kent-web.com/bbs/index.html

★「CGIROOM」の「縦書き伝言板」
http://cgiroom.nu/list/bbs/msg/index.htm

★「お絵かきBBS.com」の「お絵かき掲示板」
http://www.oekakibbs.com/

★「ZEROの領域」の「What Luck」
http://www.interq.or.jp/www1/tf52316/download/play.htm

これ全部なんです~(T-T)
…やっぱり種類ごとにやり方も違うのでしょうね。
投稿日時 - 2002-04-01 17:18:00


  • 回答No.2
レベル8

ベストアンサー率 68% (17/25)

> ★「KENT WEB」の「プチ☆ボード」 > http://www.kent-web.com/bbs/index.html の場合、630 行目位に #----------------# # デコード処理 # #----------------# というサブルーチンがあります。 その最後のほうに if ($in{'sub'} eq & ...続きを読む
> ★「KENT WEB」の「プチ☆ボード」
> http://www.kent-web.com/bbs/index.html

の場合、630 行目位に
#----------------#
# デコード処理 #
#----------------#
というサブルーチンがあります。

その最後のほうに

if ($in{'sub'} eq "") { $in{'sub'} = "無題"; }

がありますので、その次に

if (($in{'name'} eq "yuka_chan") && ($in{'pwd'} ne $pass)) {
&error("パスワードが違います。");
}

と記述すれば他人が「yuka_chan」の名前で投稿しようとしても、「削除キー」に入力したパスワードが 77 行目位にある「管理者用マスタパスワード」と一致しなければ投稿できなくなります。

KENT さんの CGI であれば「アクセス制限」で特定の IP アドレスの投稿を制限することができますので、その場所を設定するほうが簡単かもしれません。

CGI のようなプログラムは不確かな知識で設置すると思わぬトラブルにつながる可能性もあります。
十分内容を理解したうえで利用することをおすすめします。
https://www.netsecurity.ne.jp/article/1/3459.html
補足コメント
yuka_chan

お礼率 98% (378/383)

↓の[お礼]の続きです。

違うパスだと、ちゃんと
「パスワードが違います。」
って出るようになりました!!

…でも今度は、正しいパスを
入れても 『ERROR !
Open Error : ./past/2.dat』
って出るようになってしまって。。。
投稿日時 - 2002-04-01 19:53:27
お礼コメント
yuka_chan

お礼率 98% (378/383)

何度もスミマセン。
ちょっと頑張ってやってみます!

…成功したかどうか確かめるには、「削除キー」の欄に「管理者用マスタパスワード」と違うのを入れて投稿してみれば分かるのですよね??

>>「アクセス制限」で特定の IP アドレス
>> の投稿を制限することができます

これも、どう設定していいのか よく分からないんです。やってみたことあるんですが、ちっとも制限してくれなくて。( 相手のIPアドレスが毎回変わってるみたいでした。)

>> CGI のようなプログラムは不確かな知識で設置すると
>> 思わぬトラブルにつながる可能性もあります。

えっ!?そうなのですか。…確かにCGIは危険と聞いたことがあるような気もします。でも配布されてるのを手順通りに設置するぶんには問題ないと思っていたのですが…参考URLによると、それも危険みたいですね。(焦;) つまり悪意を持ってるわけじゃなくても、知らず知らずのうちに危険なことをしでかしちゃう、ってことなのでしょうか。。。

MtHillさんは独学でCGI(ぱーる??)を習得されたのですか??…私も もっと詳しくなりたいです。
投稿日時 - 2002-04-01 19:30:30
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ