こんばんわ☆
The Roomさん(http://dream.lib.net/room/index.shtml)の
ランキング用CGI『Ranking Link』をお借りして、ランキングサイトを運営しています。
運営を始めて数ヶ月が経ちましたが、最近やたらとアダルトサイトからの登録が多くなって困っています。
スクリプトの設置方法は、ディレクトリを別にして、複数設置しており、カテゴリを15個ほど作っているのですが、同じ日の同じ時間に全てのカテゴリに対しての登録もあります。
(何かプログラムを使ってやっているのかなぁ…?)
で、その対策のために先日、ランキング登録用のHTMLファイル名を変更して、HP上では新規登録をできない状態にしました。
(ファイル名は変更しましたが、サーバーには存在しています。)
しかし、相変わらずアダルトサイトからの登録は続いております。
CGIに詳しい方で、何か別の対策方法をご存知の方がおられましたら、どんな事でも良いのでアドバイス頂ければ幸いです。
スクリプトの配布元であるThe Roomさんに問い合わせをしましたが、返答がもらえなかったので、こちらへ投稿させて頂きました。
どうぞ宜しくお願い致します!!
No.2ベストアンサー
- 回答日時:
#1 です。
昨日の回答では、Ranking Link をダウンロードしてソースを見てたつもりだったのですが、よくよく見るとLink Ring というCGIでした。
大変失礼しました。
> あと、参考URLの記事を拝見しましたが、CGIのスクリプトについては全くの無知なので、
> lr_user.cgiのどこに投稿元チェックのスクリプトを入れれば良いのか分かりません…。
先の回答で「参照してください」といったスクリプトは、そのままでは Ranking Link では使うことが出来ないため、ちょっとだけ手を加えたスクリプトを載せておきます。
# 次の3行をrl_use.cgiの155行目(sub regist)と156行目(&datacheck)の間に入れます。
$myscript = 'http://hogehoge.xyz/hogehoge/html/'; # regist.htmlを設置したURL(ディレクトリまで)
$ref_flag = &refCheck;
if ($ref_flag == 0) { &err_msg('不正なアクセスです'); }
# 次の6行(&refCheck)をrl_use.cgiの最後の行に入れます。
sub refCheck {
$ref = $ENV{'HTTP_REFERER'};
$ref =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2", $1)/eg;
if ($ref =~ /$myscript/i) { return 1; }
else { return 0; }
}
# 次の5行(&err_msg)を、上記&refCheckの更に下に入れます。
sub err_msg {
print "content-type:text/html\n\n";
print "<html><head></head><body>$_[0]</body></html>\n";
exit;
}
動作確認はしてませんが、おそらくこれで対処できるはずです。
hok212さん、引き続きご丁寧な回答をありがとうございます!!
これから教えて頂いたスクリプトを追加するのですが、もしダメだったらこのCGIは諦めて、もっとセキュリティの高いものを使用してみようと思います。
初心者の私でも対処できそうな詳しいアドバイスを本当に有り難うございました!!
No.1
- 回答日時:
The Room さんで配布されている Ranking Link というCGIのソースをざっと見ましたが、このCGIは外部からの登録が出来ちゃうタイプです。
# このCGIの性格として「誰でも登録していいよ」という感じのものですから、作者としてはこれでいいと思ったのでしょう。
それで、新規登録における処理の流れは次のようになります。
1. mail.htmlの参加のリンクをクリックするとlr_user.cgiにkey値:act/value値:reg1という組み合わせが渡される。
2. lr_user.cgiの®1(登録フォーム)が表示される。
3. 上記フォームの「登録」ボタンを押すことで、処理が ®2 に渡り登録が完了する。
kana0120さんはmain.htmlを削除(リネーム)されたようですが、実際の登録処理はlr_user.cgiで行われてますし、先にも書きましたようにこのCGIは外部からの投稿が可能になっております。
そのためmain.htmlを削除してもほとんど意味はありません。
さて、対策方法ですが、lr_user.cgiの®2に入った直後に外部からの投稿チェックをするといいです。
投稿元チェックのサンプルスクリプトは、以前に次のURLに書きましたので参考にしてください。
http://security.okweb.jp/kotaeru.php3?q=1679148
この回答への補足
ご丁寧なアドバイスを有り難うございます。
えっと…
私がお借りしているスクリプトはver,1.86で、それにはmain.htmlは同梱されておらず、
ランキング参加の新規登録はregist.htmlを使用するようになっています。
あと、参考URLの記事を拝見しましたが、CGIのスクリプトについては全くの無知なので、lr_user.cgiのどこに投稿元チェックのスクリプトを入れれば良いのか分かりません…。
お手数ですが詳しく教えて頂ければ幸いです。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Visual Basic(VBA) VBAの参照先のファイル名をセルに書いて代入したい 2 2022/04/04 13:42
- YouTube youtubeチャンネルの発掘が困難な件 1 2022/05/10 13:46
- Google Drive Googleカレンダーの新規予定登録のカレンダー変更方法 2 2022/06/11 19:16
- ライフスタイル・ヘルスケア adidas runningというスマホアプリにログインできない?? 2 2023/03/17 21:39
- バイクローン・バイク保険 普通自動二輪についてです。250ccです。 友人から譲り受けることになり陸運局?に行く予定です。その 3 2022/08/07 18:20
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- 弁護士・行政書士・司法書士・社会保険労務士 司法試験合格者の司法書士試験の受験について 3 2022/08/31 16:40
- gooブログ Blogの使い方(ブログ・ユーザ設定について) 1 2022/04/23 12:40
- Facebook FACEBOOKのアカウント乗っ取りについて 1 2022/05/06 06:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームを再送信しますか?
-
エクセルで集計したい。
-
ディープフェイクを作成するサ...
-
CGIフォームから飛ばすメールで...
-
ホームページの事でおしえてく...
-
ラズパイでのCGIで、pythonソー...
-
ホームページにCGIを設置したの...
-
ホームページでCGIのフォームを...
-
perlで書いたcgiでsqliteの使い...
-
htmlからパラメータで、cgiに渡...
-
cgiの注釈が出来ない
-
apacheでPerl CGIが作動せず、5...
-
入力フォーム(電話番号)
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームを再送信しますか?
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
入力フォーム(電話番号)
-
htmlからパラメータで、cgiに渡...
-
/bin/awk '{print $5}'ってどう...
-
CGIが読み書きするデータファイ...
-
POSTメソッドの最大容量について
-
チェックボックスでのvalue値の...
-
cgi アクセス制限 エラー
-
CGIゲーム設置について
-
サイト訪問者の情報を取得したい
-
CGIって何ですか?簡潔に教えて...
-
cgiからsendmailを送信で文字化け
-
ホームページにメールフォーム...
-
ラズパイでのCGIで、pythonソー...
-
一番簡単なCGI,掲示板の設置教...
-
perlで書いたcgiでsqliteの使い...
-
CGIメールフォームの件名について
おすすめ情報