- ベストアンサー
伝言板での騙り行為を禁じたい
- 伝言板での騙り行為を禁じる方法を知りたい
- 存在する伝言板には管理人の名前を使っての投稿を禁じる機能があるが、現在の伝言板を変えずに同様の機能を追加する方法を知りたい
- CGIプログラムを用いて簡単に管理人の名前を使った投稿を禁じる機能を追加する方法を教えてほしい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
「プチ☆ボード」のソースで # 管理者用マスタパスワード (英数字で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 行目くらいの「# 一括削除用」の前がいいと思います。 考えられる対策はいろいろありますが、一番大切なことは荒らしが来ないような雰囲気を作ることや、荒らしに反応しないことです。
その他の回答 (2)
- MtHill
- ベストアンサー率68% (17/25)
> ★「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
お礼
何度もスミマセン。 ちょっと頑張ってやってみます! …成功したかどうか確かめるには、「削除キー」の欄に「管理者用マスタパスワード」と違うのを入れて投稿してみれば分かるのですよね?? >>「アクセス制限」で特定の IP アドレス >> の投稿を制限することができます これも、どう設定していいのか よく分からないんです。やってみたことあるんですが、ちっとも制限してくれなくて。( 相手のIPアドレスが毎回変わってるみたいでした。) >> CGI のようなプログラムは不確かな知識で設置すると >> 思わぬトラブルにつながる可能性もあります。 えっ!?そうなのですか。…確かにCGIは危険と聞いたことがあるような気もします。でも配布されてるのを手順通りに設置するぶんには問題ないと思っていたのですが…参考URLによると、それも危険みたいですね。(焦;) つまり悪意を持ってるわけじゃなくても、知らず知らずのうちに危険なことをしでかしちゃう、ってことなのでしょうか。。。 MtHillさんは独学でCGI(ぱーる??)を習得されたのですか??…私も もっと詳しくなりたいです。
補足
↓の[お礼]の続きです。 違うパスだと、ちゃんと 「パスワードが違います。」 って出るようになりました!! …でも今度は、正しいパスを 入れても 『ERROR ! Open Error : ./past/2.dat』 って出るようになってしまって。。。
- MtHill
- ベストアンサー率68% (17/25)
> 管理人の名前を使っての投稿を禁じたい のご質問に回答します。 「伝言板」の詳しい内容がわからないので、KENT WEB さんの掲示板「Light Board」を 例に解説します。 たとえば 投稿時の名前が「管理人」で 投稿時のパスワードが管理用のパスワードに一致しなかったらエラーを返す という処理をさせるには、フォームのデコード処理のあとに次のように記述します。 if (($name eq "管理人") && ($pwd ne $pass)){ &error("パスワードが違います。"); } このように記述しておくと、他人が「管理人」というハンドルで投稿した際に 投稿できなくなります。 上記の内容がよくわからない場合は、伝言板の詳しい内容を補足してください。
お礼
ご回答ありがとうございます☆ >> フォームのデコード処理のあと えーと。。。( ̄∇ ̄;;)?? 「デコード」って…?(汗; 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) …やっぱり種類ごとにやり方も違うのでしょうね。
お礼
>> 私のローカル環境では、これでちゃんと動いています。 はい。MtHillが教えてくださった通りにやったら、その点に関しては ちゃんと成功したんです☆ ただ何故か普通の投稿が出来なくなっちゃって。(^^;;ゞ …でも「プチ☆ボード」は休止中だったので特に問題ナシです。ちょっとじっくり格闘してみます。 >> ローカル環境でテストすることをおすすめします。 以前それをやろうとして失敗しました。どーしてもローカルでは動いてくれず☆ …また暇をみてチャレンジしたいです。 >> 荒らしが来ないような雰囲気を作る >> ことや、荒らしに反応しないことです。 …確かに。最近、管理を怠っていました。(反省) うちの来訪者、子供しかいないから、なんか何されても可愛いばっかりで、ちょっと甘やかしてたかなぁ?って感じです。悪気は無いと思うんですが。とりあえず私の名前を使って遊ぶのだけは止めてもらわないと。。。 MtHillさん、本当にありがとうございました!!いろいろ頑張ってみます。 …ん~~。"拡張用"なんて、やっぱり無かったのかな。(残念!)