CGIだけど、なんか質問ある? Part 8
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/09/22 23:15ID:???※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
Perl 初心者コーナー Part16
http://pc.2ch.net/test/read.cgi/php/1032070299/l50
過去ログ・関連スレッドは >>2
0331nobodyさん
02/10/16 17:27ID:suS2LYMZ言いたい事は解る。
でも、時間修正くらいでいちいち客先いってられるかヨ。
2個めのApache起動普通には出来ないよね?
apachectl start したら already running って叱られるけど。
0332nobodyさん
02/10/16 17:46ID:???apacheを2つ起動する方法も知らないヤシが人の鯖管理してるのか ガクガク(((;゚Д゚)))ブルブル
つーか, そんなに面倒っちぃと思うなら xntpdでも入れてcronで自動で時間修正するようにするべきだと思うが。
0333nobodyさん
02/10/16 17:51ID:suS2LYMZntpって、そりゃインターネットに繋がってるのが前提だな。
ネットには繋がってないのでそれは無理。
#ntpは誰でも一番最初に思い付く罠
0334名無しさん@Meadow
02/10/16 18:47ID:???ネットにつながってない鯖にwebで入るとはこれ如何に。
0335nobodyさん
02/10/16 18:55ID:???そのLAN内のWin機からHTTPでアクセスするって事だろ。
完全に切り離されてるならApacheをrootで動かすなり自前で時計合わせ専用に
デーモン作るなりすれば?
0336nobodyさん
02/10/16 18:57ID:???まぁtelnetがイヤって事はWinかマクだろうけど。
0337nobodyさん
02/10/16 19:05ID:???0338nobodyさん
02/10/16 19:07ID:???したら、メンテするのは一台だけっしょ。
// なんか異常がない限り。
0339nobodyさん
02/10/16 20:55ID:???rootでTelnetログインできるようにしといて
Net::Telnet使うのが簡単
0340nobodyさん
02/10/16 21:51ID:SGIhA+qDNet::Telnetってはじめて聞きまつた。
この手法はなんといいまつか?
0341nobodyさん
02/10/16 21:55ID:???0342ls-l
02/10/17 00:51ID:9AbsxqL1ことまでわかったので、ゲットしたんだけど、インストールがわからない。。。
誰か教えてYO。環境はMacOS 10.2 + Apache1.3 + perl5.6。要はMacOSの標準
構成デス。。
0344nobodyさん
02/10/17 01:53ID:???FORMタグで送信したいデータがあります。 **.html と **.cgi
に分かれてまふ。 それで**.htmlはpostで大体かけたんですが、
**.cgiのformのデータが全然取れませんです。 使ってる鯖の
versionは、パールの 5.00503 でございます
0346nobodyさん
02/10/17 02:44ID:???そうです。 クエリーストリングもエコーしてみたけど、
なんいもナッシングでした。 一応エンコする記述とか
書くと何も表示されなくなっちゃいます。 ローカル環境
は今準備出来ないので、ウェブオンリーのデバグとなって
おり這々の体で作業をしております。
0347>>344
02/10/17 02:54ID:???フォームのデータとしてparamなり呼び出せばいいと
思うんだけど、このHTMLとの繋がりが・・・。
今の所、post get 両方ダメチンです。
一応ENVはしっかり返ってきてます。
0348nobodyさん
02/10/17 02:58ID:???0349>>344
02/10/17 03:16ID:???(標準入力ってこれで合ってるのかな)
うーん、cgi内、どうやって書いたらいいのかなぁ
多分その鯖ってアパチもパールも古くさいので、
海外のいいとこか、もうちょっと環境良いところ
(splitなんか使わなくてもヨサゲなとこ)にでもした
ほうがいいのかなぁと思っておりまする。
0350>>344
02/10/17 03:24ID:???read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
こんな感じでふね。 もう眠くて日本語変すぎてすみません
ちょとやてみまふ
0351>>344 完
02/10/17 08:40ID:???だうもありがとうございますた。
0352nobodyさん
02/10/18 02:42ID:PW8/fPKvフレームページに設置する時って、フレームに対応させる
設定をすると聞きました。
インラインフレームでも、設定は必要ですか?
アドバイスお願いします。
0353nobodyさん
02/10/18 09:41ID:???0355nobodyさん
02/10/18 21:39ID:b7NtTXSNお知恵を拝借でつ。
この板のアクセス規制関連スレを参考にして、
うちのサイトではjpドメイン規制をしているのですが、
(CGI自体は問題無く作動してます)
ヤホーBB経由だと、ホスト名に
jp/JPが返って来ていないという報告がありました。
なので、フレッツとかのブロードバンド経由だと
どういうホスト名が返って来るのかが知りたいのですが、
どんな方法がありますでしょうか。
0356nobodyさん
02/10/18 22:16ID:???0359355
02/10/19 09:28ID:GPqsQtn9>> 358
へい、わかりまいた。THANX!
0360nobodyさん
02/10/19 10:56ID:???↓
http://hogehoge.virtualave.net/test/read.cgi/php/1234567890
こういう風にするのはどうやればいいのですか?
0361360
02/10/19 10:57ID:???0362nobodyさん
02/10/19 13:40ID:???同一人物?
0363nobodyさん
02/10/19 13:46ID:???0364nobodyさん
02/10/19 15:12ID:???0365s
02/10/19 15:13ID:vOOQmkFS0368 ◆hMJAPH9PWA
02/10/19 22:59ID:pkf2Digs0369初訪問
02/10/20 14:03ID:rY09Sh4G0372nobodyさん
02/10/20 14:38ID:???読解力無いヒト
0373! ! !
02/10/20 14:50ID:???私は自分で作ったHPのトップから入ってきて貰いたいので
直接入力からやブックマークからのアクセスを防ぎたいです。
CGIであるディレクトリーのアクセス制限は可能なんですか?
0374・・・で
02/10/20 14:59ID:???宜しくお願いします。
0375nobodyさん
02/10/20 15:33ID:cAtNmd1m.htaccess
0376nobodyさん
02/10/20 15:34ID:???ふつーはねー、CGIのHTTP_REFERRERっていう環境変数を取得して、
そいつが自分のHPのトップだった場合だけ、飛ぶようにしてねー、
それ以外だったら、HPトップのページに飛ぶようにしる。
でもねー、ブラウザによってHTTP_REFERRERを送出しないのも
あるからねー、完全に、やりたいことを実現するのはむずいん
じゃないか?
0377373、374
02/10/20 15:43ID:???という事は可能なブラウザは制限されるけど
決してできなくもないという事なんですか?
色んなHPを暫く回ってきて、ここに戻ってきて
クッキーを使ってだったらできないのかなと今思ったんですよ。
どうですかねェ? やっぱダメですか?
0378nobodyさん
02/10/20 15:50ID:???376のやり方だとHTTP_REFERRERを出さないブラウザじゃどのページも見れなくなる。
クッキー使うやり方だとクッキーを出さないブラウザじゃどのページも見れなくなる。
それでも良いなら御勝手に。
0379nobodyさん
02/10/20 15:55ID:???376だけど、そいうことはないっしょ。
HTTP_REFERRERが空だったら、HPトップのコピー、またはHPトップへの
リンクを張ったページを出力する。さもなきゃ、そのHPトップからしか
見せないページを出力する。でもさ、これって、アクセスの度にhtmlヘッ
ダーつきで出力するから、頻繁にアクセスされるページには向かないな。
0380nobodyさん
02/10/20 16:06ID:???リファが空>TOPに飛ぶ>どっかに移動しようとする>リファが空>TOPへ
の繰り返しになるだろ。
TOPに飛ばさないならリファ関係無しに全てのページにTOPへの
リンクでも貼っておけば済む話だと思うが。
0381nobodyさん
02/10/20 16:43ID:???>リファが空>TOPに飛ぶ>どっかに移動しようとする>リファが空>TOPへ
>の繰り返しになるだろ。
TOPからは「どっか」へは飛べるんだよ。373はそうしてほしいって言ってるわけ。
「どっか」を直接アドレスバーに入れてアクセスしたり、ブックマーク
して、アクセスされたくないってわけ。(意図はみえみえだけどね。TOPに
収入になる宣伝ページ貼ってあんでしょ。)
だーから、この「どっか」のページをCGIで書いておいて、リファをチェック
するわけ。
0382nobodyさん
02/10/20 17:27ID:???その判断をリファでするって話だろ?
だからリファ吐かないブラウザはどうすんのかって話ししてんだけど。
TOPから来たかどうかをリファでチェックしてる限り
リファ出さないブラウザの場合はどこからどう行こうが
直リンやブックマークと同じ扱いになるだろ。リファ出さないんだから。
0383373、374、377
02/10/20 17:46ID:???>クッキーを出さないブラウザじゃどのページも見れなくなる。
クッキーを履くように設定できないブラウザもあるということですか?
>379さん
>アクセスの度にhtmlヘッダーつきで出力するから、頻繁にアクセスされるページには向かないな。
そんなにアクセスされるところではないので構わないのですが、htmlヘッダー着きで出力とは?
>380さん
>全てのページにTOPへのリンクでも貼っておけば済む話だと思うが。
確かに仰せの通りかもしれませんが、せっかく初めて作ったもんだから、やっぱり・・・ネ。
>381さん
>(意図はみえみえだけどね。TOPに収入になる宣伝ページ貼ってあんでしょ。)
まさか。 ただ、いい事教わりました。こんどどっか別のところでそれについて教えて下さい。
>382さん
>直リンやブックマークと同じ扱いになるだろ。リファ出さないんだから。
それでも何かいい方法はないでしょうか?一応、それでクッキーという考えを持ったんですけど・・・
0384nobodyさん
02/10/20 18:17ID:???それはページだけでいいの?
html以外、例えば画像ファイルの直接参照はクッキーじゃ防げなさそうだけど?
蛇足だが、クッキーやHTTP_REFERERはファイアーウォールソフトでも送出をブロックされてしまう。
やり方はいろいろ有るが欠点のない方法はないよ。
どの程度の厳密さが欲しいか言ってみ?
もっとも、漏れ的には気にしない方が幸せだと思うけどね。
画像直リンとかはともかく、途中のページにでも来てくれるならそれでいいじゃんか。
0385nobodyさん
02/10/20 18:35ID:RVEI8NIXこれ→http://rpg-center.net/bbs/dsfbbs/yybbs.cgi
http://cuo.press.ne.jp/cgi/b07_1.html
この方法は通用しませんでした。
0387nobodyさん
02/10/20 19:05ID:???0389nobodyさん
02/10/20 19:21ID:81/wEKr7まともに教えないのならこういうスレ立てるなっつーの
0390nobodyさん
02/10/20 19:28ID:???だから、スクリプトは簡単なんだが、その時刻にスクリプトが動いてないとダメだろ?
cron使える環境じゃないとまず無理だよ?
0392nobodyさん
02/10/20 20:11ID:???cron設定できるくらいの人間なら自分で書けそうなもんだが、
そんなレベルではスクリプト言語指定した方がよくないかな?
使えん処理系だったらどうするの?
0393373、374、377、383
02/10/20 21:07ID:z9FOCLAsJPGファイルとGIFファイルは多少ある程度で画像は大してないです。
殆どがHTMLファイルですね。だから、可能ならできるだけ厳密な物が
好いのは言うまでもありませんが、多少は仕方がないのかなと思い始めています。
0394nobodyさん
02/10/21 01:55ID:???何か分からん人やな。こいうこと言ってるんだけど。
#!/usr/bin/perl
if ($ENV{'HTTP_REFERER'} eq "http://www.hoge.net/hoge.html") {
print "Content-type: text/html\n\n";
print <<EOF;
...(ここがTOPからのみアクセスさせたいページの内容)
...(〃)
EOF
} else {
print "Content-type: text/html\n\n";
print "<html><META HTTP-EQUIV='Content-Type' CONTENT='text/html; CHARSET=Shift_Jis'><body>以下のTOPページから入ってください。<a href=\"http://www.hoge.net/hoge.html\"></a></body></html>\n";
}
0395nobodyさん
02/10/21 09:14ID:rhS7DxCr382じゃないけどさ、REFERER返さないブラウザでアクセスすると
if ($ENV{'HTTP_REFERER'} eq "http://www.hoge.net/hoge.html")
このifの条件は絶対に真にならないよ。
hoge.htmlのリンクから来たとしてもHTTP_REFERERは空だもん。
0396nobodyさん
02/10/21 12:06ID:kvV//eq/↑ネタ ↓
└──┘
スレに優しい
ネタリサイクル
0397nobodyさん
02/10/21 12:30ID:xVpfFZu+だから、REFERER返さないブラウザではだめだよっていう話が
何度も出てるだろ。ヴォケが
0398nobodyさん
02/10/21 12:38ID:???0399nobodyさん
02/10/21 12:41ID:???/home
+himitu/himitu.html
|
+public_html/index.cgi
index.cgiはサーバ上でローカルの/home/himitu/himitu.htmlを読み込んでそのまま表示。
httpdではhimitu.htmlをそのままでは表示できない。
0401名無しさん@Meadow
02/10/21 15:15ID:I45VevKjあんまりヴォケだから、アゲ。
>>378
>376のやり方だとHTTP_REFERRERを出さないブラウザじゃどのページも見れなくなる。
そんなことないよって言ってるでしょ。TOPは誰にでも見れるよ。
そのTOPからしかリンクたどって見れないようにしたいページは、
REFERRER出さないブラウザだともちろん見れないよ。
# 直接関係ないけど、Mozillaは出さない、ネスケのunix版Ver.3以下も出さない。
# IEだとVer.3以上は出す。ってことで、出さないブラウザは少ない。
0402400
02/10/21 16:03ID:NN4zK8Rhいままでの話の流れからすると、「どこのページも見れない」の
「どこのページも」に「TOPページ」は含まれていないよ。
>>381
>TOPからは「どっか」へは飛べるんだよ。
って言ってるからさ。で、この「どっか」ってどこよ?(藁
0403nobodyさん
02/10/21 16:12ID:???0404nobodyさん
02/10/21 16:43ID:???ばかばかしいからサゲ。
この「どっか」ってのは、TOPページからしか見せないページだよ。
それでもって、REFERRER出さないブラウザからは見れない。
これが見れたら、クッキー焼くだのなんだ言わなくていいっしょ。
どの方法にもうまくいかない点があるってのが結論でしょ。
TOPでランダムな数字20桁ぐらい持たせて、GETで持ちまわっていけば。
20分以上アクセスの無いセッションは切れるとか。
と>>404だけ見てカキコ。
0407400
02/10/21 17:18ID:NN4zK8Rhまじでレス読んでるのかよ?
>この「どっか」ってのは、TOPページからしか見せないページだよ。
>それでもって、REFERRER出さないブラウザからは見れない。
そんな一般論は分かってるの。
>>381 は、(リファが空でも)
>TOPからは「どっか」へは飛べるんだよ。
って言ってるから、突っ込まれてるんだろ?
いい加減に理解してくれ。
君らの言っている仕組みがおかしいとは言ってない。
>>381 の認識がトンチンカンだと言っているだけなんだ。
0409408 ◆4/qmJJukCQ
02/10/21 17:23ID:???0410nobodyさん
02/10/21 17:31ID:???>>>381 は、(リファが空でも)
>>TOPからは「どっか」へは飛べるんだよ。
>
>って言ってるから、突っ込まれてるんだろ?
あげ足取りしてるわけね。
ああ、分かったよ。
すいません、すいません。いい間違えました。
あなたは、言葉の感覚が鋭い、えらい、とってもえらい。
0411nobodyさん
02/10/21 17:34ID:I45VevKjじゃあ、これやってみたらぁ。
起動した時刻になると毎日、ファイル名をランダムに変える。
$dirname = "/aho/baka/manuke";
opendir(DIR, "$dirname") or die "$!\n";
@dir = readdir(DIR);
@files = grep(/[^.]/, @dir);
chdir "$dirname";
srand;
while ($file = shift(@files)) {
$order = int(rand($#files));
print $order, "\n";
$otherfile = $files[$order];
print $otherfile, "\n";
undef $files[$order];
rename $otherfile, "tmp.tmp";
rename $file, $otherfile;
rename "tmp.tmp", $file;
}
closedir(DIR);
sleep 60*60*24;
0413nobodyさん
02/10/21 17:39ID:???いけね、これじゃ、1日経ったら終わっちゃうね。
再帰にしてください。
while(1) {
}
の中に入れればいいのかな。
0414nobodyさん
02/10/21 18:57ID:???別に揚げ足ではなさそうですよ。376さんは本当に勘違い
(トップからならリファ不要と思っている)しているようですから。
0416nobodyさん
02/10/21 18:58ID:???0417nobodyさん
02/10/21 19:31ID:???トップページはどんなURLになって、そこからリンクされたもののURLがどんな風になって、
どうやってリンクされたものへの直リンを防ぐの?
0418nobodyさん
02/10/21 20:59ID:???POSTで引数を渡された場合は引数に合ったページを読み込み表示、
引数が無ければTOPを表示。なら出来なくもないね。
やる気はしないが。
0419373、374、377、383、393
02/10/21 21:32ID:v7bPanCX394さんのスクリプトでできるんですか?
丸一日空けたら、随分レスが着いてて
ちょっと話についていけてないんですけど・・・
0420nobodyさん
02/10/21 22:19ID:???質問した本人がこれじゃ、しゃーないで。
>>394だけんが、REFERRER送らないブラウザじゃできないって最初から
言ってるだろが。(ただし、すでに書いといたがな、REFERRER送らない
ブラウザは少ない。)
揚げ足取りの変な奴らが出てきて混乱したようだが、399でやれば、
できるようだな。
0421nobodyさん
02/10/21 22:28ID:???漏れがそこまで拘るときはコンテンツをPDFにするだろう。
>417
要するに掲示板だよ。
コンテンツはCGIから送出する。
トップ
http://hogehoge.net/index.html
下位コンテンツへのリンクは
read.cgi?contents1.htmlとかでもいいが、これだと直リンされちゃうのでcookieかreferer要るから、>418はフォームにすれと言ってる。
>419
できる。REFERER出てこない環境の人ごめんということでよければ。
スクリプト中にコンテンツ内容を直接書くようになってるけど、ファイル読み込みはしないとメンテナンスが面倒だ。
他には、かなり脆弱な方法だがJavaScript仕込んでトップページへ飛ばす手がある。
トップをフレームにして、そのフレームに表示されていなければトップをロードする。refererもcookieもCGIも要らない。
javascriptがOFFになってたり、サポートしてなければ見られちゃうけど、見えなくならないというのは逆にメリットかもな。
0422nobodyさん
02/10/21 22:30ID:???perl5.003以上ならsrandいらないね。
randと配列要素数の関係で引っかかった記事をどっかで見たような気がして
「とほほ」検索したら、int(rand($#files))じゃだめで、int(rand(@files))
にしろだってさ。その真偽のほどご存知の方、おせえてくらはい。
0423nobodyさん
02/10/21 23:17ID:???5.004 以上。
ttp://www.kt.rim.or.jp/%7ekbk/perl5.005/perlfaq4.html#Why_aren_t_my_random_numbers_ran
落ち着いて順番に考えれ。
・@files = (0,1,2,3) の時 $#files == 3 で scalar @files == 4
・rand 3 は 0 〜 2.999…、rand 4 は 0 〜 3.999…
・int は小数点以下切り捨て
0424あぷろだつくりたい
02/10/22 03:47ID:9jwNC94yFTPというのがなにかさっぱり
0427nobodyさん
02/10/22 21:02ID:???/index.cgi/dir/content.html
とかでいいじゃん。
index.cgiは内容をそのまま送出するCGI。
ほんで,実際には dir/content.cgi にしとけば直リンされる心配もなし。
プログラムも簡単。
0428427
02/10/22 21:03ID:???427は忘れてちょ。
0429nobodyさん
02/10/23 10:27ID:+jz3762LヘンなHPへ飛ばされるんだけどなぜ?
■ このスレッドは過去ログ倉庫に格納されています