アプリ版:「スタンプのみでお礼する」機能のリリースについて

参照制限(特定のページを経由しないとそのページを見せないようにすること)
ができる「CGI」は良く見かけますが、
CGIファイルを参照制限することのできるCGIスクリプトは
ないでしょうか?
例えば、ある特定のページを経由しないと、パスワード入力画面CGIファイル
へ「JUMP」出来ないようにするとか・・・です。
そのようなCGIは、直接、「参照制限させたいCGIファイル」へ
スクリプトを書き込まないといけないと聞いたことがありますが・・・
何かご存知の方是非アドバイスの程をお願い申し上げます。

A 回答 (6件)

重ね重ね失礼を・・・



X $ENV{'HTTP_REFERRER'}
       ↓
○ $ENV{'HTTP_REFERER'}

でした・・・。

3度手間を取らせてしまってごめんなさい。
    • good
    • 0
この回答へのお礼

3度目の正直とはまさにこのことでした。
ちゃんとうまくいくみたいです!!
感動・・・・・(TT)
何ヶ月もインターネット上を訪ね彷徨いましたので、
感無量でございます。
本当にどうも有り難うございました。
感謝感激です!!
求めよ、さらば与えられん・・・神様を感じました。
それでは、お元気でこれからもどうぞお励み下さいませ。
さようなら!!               祈

お礼日時:2003/04/06 23:18

すいません,よく見たらつづりを間違えていました。



X $ENV{'HTTP_REFFERER'}
       ↓
○ $ENV{'HTTP_REFERRER'}

これで,多分大丈夫だと思いますが,もし,だめな場合,

print "error";
と記述されている部分を
print $ENV{'HTTP_REFERRER'};
と置き換えてみて,どのような環境変数が出力されているか,確認してみてください。

ではでは。
    • good
    • 0
この回答へのお礼

どうもお世話をおかけ致しております。
小生が参照制限したいスクリプトを一応お伝えして
おきます。「ディレクトリゲイト」です。
http://www.webpower.jp/websofts/others/
web_protection/directory_gate/

なお、仰せの通り、書き換えてやってみましたが、
うまい具合に行きませんでした。また、環境変数は、
何も表示されませんでした。

どうもレンタルサーバーがおかしいみたいです。
同じアドレスを入れても、ちゃんと
画面表示される場合とERROR404になる場合があります。
ちょっとおかしいみたいです。

もうじき、新しいサーバーのログイン名とパスワードが
届きます、有料なので、わずらわしい広告無しです。
それで兎に角やってみます・・・。
どうもいろいろ有り難うございます。
それでは、また。

お礼日時:2003/04/05 22:50

すいませんNo3のものですが,補足と言うか訂正です。



echo "error";
と書いた部分は

print "error";
の間違いです。

この回答への補足

早速、自宅で試してみました。
error表示はちゃんと出ました。が、
経由させたいURLからリンクしても、
又、errorと出てしまい、どこからも入れなくなって
しまいました!(TT;)
ウィンドウの中にも外にも広告が表示される
無料のレンタルサーバー(infoseek)を利用しているので、
それの影響があるのかも知れません。
error表示が出たということは、CGIはちゃんと作動して
いるということですよね。
もう一息なのに・・・とても残念です。
別のサーバーで試してみます。取り急ぎ。

補足日時:2003/04/05 09:22
    • good
    • 0
この回答へのお礼

ご丁寧に補足頂き有難うございました。
ますます楽しみになってまいりました・・・。
まだ会社です。(爆)

お礼日時:2003/04/04 17:29

以下のソースを直接参照させたくないCGIの


#!/usr/bin/local/perl あるいは #!/usr/bin/perl と記述されている次の行にコピーしたらよいと思われます。

#$url='http://yahoo.co.jp'と指定すると,yahooから来た人以外はエラーを表示させることができます
$url='経由させたいURLを入力してください。';
if ($ENV{'HTTP_REFFERER'} ne $url) {
print "Content-type: text/html\n\n";
echo "error";
exit;
}
    • good
    • 0
この回答へのお礼

どうも本当に有難うございました。
私にとって、あなたは決して一般人ではありませんです。
感謝です。早速、家に帰ってから試してみます!
じゃ今会社かよっ(笑)内緒です・・・。

これで上手く行ったら、本当に大助かりです。
感謝感激雨あられです。ではでは。

お礼日時:2003/04/04 16:37

環境変数 HTTP_REFERRERE を使って制限するのがポピュラーな方法だと思います。


REFERRER というのはリンク元の URL の事です。
ですが、この方法ですと REFERRER を付けるとアクセス出来てしまうという抜け道があります。

環境変数というのは %ENV に格納されています。
print $ENV{'HTTP_REFERRER'};
で確認してみてください。
    • good
    • 0
この回答へのお礼

どうも大変恐縮です。
先にも書きました通り、CGIのスクリプトは全く
小生分かりません。
この上記のスクリプトをどこへ貼り付けたら良いので
しょうか??
また、リンク元のURLはどうのようにして、
指定して書いたらよいのでしょうか?
必要なスクリプトをすべて書いて頂けると幸甚なんで
すが・・・。無理なお願いでしょか?

お礼日時:2003/04/04 07:36

$ENV{'HTTP_REFERER'}でリンク元をチェックして、


指定以外から入られたときは「直リンクはやめてね」とだけ表示するとか。
(未確認ですけど)
    • good
    • 0
この回答へのお礼

早々のお返事どうも大変有り難うございました。

CGIというかPerlを小生は全然知らないので、
やはり、無謀な質問だったのでしょうか?
仰っている意味がまるきし分かっていません。ハイ。
CGIを作成する業者に頼んだ方が早いかも知れませんね。
いやいや、どうも失礼致しました。感謝。

お礼日時:2003/03/31 22:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!