トップページ⇒php
1001コメント328KB

CGIだけど、なんか質問ある? Part 8

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/09/22 23:15ID:???
CGIの運用に関する質問スレッドです。

※CGIは特定の言語に依存するものではありません。

※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
  ↓
  Perl 初心者コーナー Part16
  http://pc.2ch.net/test/read.cgi/php/1032070299/l50

過去ログ・関連スレッドは >>2
0705nobodyさん02/11/25 23:06ID:???
>>704
プロバイダ変えたのなら、アドレスも変えないと見ることができませんよ。
0706nobodyさん02/11/25 23:09ID:SbouaTZ0
アドレスは間違ってないです。何度も確認しました。
ブラウザのセキュリティ?の問題なんでしょうか?
ルータ使ってるのですが関係あるんでしょうか?
0707nobodyさん02/11/25 23:33ID:???
>704
見れなくなったってのは
1:画面が真っ白になる
2:エラーが出る(出るならどんなエラーか)
3:その他
どれだ?
070870402/11/25 23:50ID:SbouaTZ0
エラーが出ます。
Internal Server Error というやつです。
0709nobodyさん02/11/26 00:36ID:???
>>708
プロバイダ変えてInternal Server Errorが出るんなら、
スクリプトの最初の#!/usr...を確認したり、
関連ファイルパーミッションを確認したりすることがあるだろうが。

自宅からだとかなんとかは全然関係ないように思うが。
0710nobodyさん02/11/26 01:32ID:FMTUq72D
マッチングについての質問です。
説明が下手で分り難かったらすみません。

例えば、メンバー表のCGIみたいなもので、
新規登録の時に、入力したIDが既に使用されているかチェックしたい場合で、
その時に、英数字の大文字と小文字も同一として、判別させたいのですが、
どうすれば良いでしょうか?
if (/$id/i eq /$tid/i) { ... }
にしてみたところ、既に「abcd」というIDが登録されている場合、「ABCD」は登録できなくなりますが
「ab」なども登録できなくなってしまいました。

説明不足でしたら、仰ってください。よろしくお願いします。
0711nobodyさん02/11/26 01:33ID:FMTUq72D
↑ちなみに、perlです。
0712nobodyさん02/11/26 01:57ID:???
>>711
if ( $id =~ /^$tid$/i ) {...}
とか?
0713nobodyさん02/11/26 02:01ID:???
>>712
できました!
有難うございます。感謝です。
0714nobodyさん02/11/26 09:58ID:???
ちなみに

if (/$id/i eq /$tid/i) { ... }

は

if ( ( $_ =~ /$id/i ) eq ( $_ =~ /$tid/i ) ) { ... }

の意(であってるよね?)
0715nobodyさん02/11/26 10:09ID:???
うん。
0716nobodyさん02/11/26 21:08ID:o93eJxc7
CGIについての質問です。
2chのread.cgiは、
http://pc.2ch.net/test/read.cgi?bbs=php&key=1032704121
http://pc.2ch.net/test/read.cgi/php/1032704121/
どちらの指定でも出来ます。
前者はGETメソッドの指定方法と言うのは分かります。
後者はどのようなメソッドと、どのような設定方法で出来るものなのでしょうか?
0717nobodyさん02/11/26 21:21ID:???
>>716
PATH_INFO
0718nobodyさん02/11/26 21:26ID:???
>>717
わかりました。ありがとうございました。
0719nobodyさん02/11/26 21:31ID:???
セキュリティ上、サーバに置くファイルの拡張子を
CGIにした方がいいというのをよく聞きますが
なぜですか?
TXTやDATだと問題があるのですか?
0720nobodyさん02/11/26 21:39ID:???
>>719
TXTなんかだと、直リンで中身を読まれちゃうからじゃない?
CGIにすると強引に実行しようとして500エラーになるので読まれない。
0721nobodyさん02/11/26 21:43ID:???
>>719
.htaccessを置ける環境なら、
そのファイルを編集することでTXTやDATでも>>720のようにすることができるよ
0722nobodyさん02/11/26 21:49ID:???
>>720
>>721
ありがとう
htaccessを調べます
0723nobodyさん02/11/26 22:18ID:???
CGIって何ですか? サーバーで処理するプログラムをCGIと言うのですか?
ではモジュールperlは処理が早いというのは分かったのですが
これもCGIでいいんですか?
0724nobodyさん02/11/26 23:10ID:???
>>723
CGIはプログラムではない。
つーか検索しる!
0725損権厨房 ◆mVeUbtZCI. 02/11/27 00:39ID:sFViQpil
2chのスレって専用ブラ使わない限りは全部read.cgiがprintしているんだよね?
http://pc.2ch.net/test/read.cgi/php/1032704121/l50
この記述でどうやってread.cgiに指令を送っているんだろう??
なんかプログラムが後ろで動いているのかな?
0726nobodyさん02/11/27 00:42ID:???
なんか10レス前さえ読めない香具師がいるようだな
0727nobodyさん02/11/27 00:51ID:TDZvUxiM
すいません自作でフォームメールつくったのですが
どうもメールアドレスにハイフンが入ったものがうまく送信できません。
@hoge-hoge.jp
のようなドメインなんですがどうしたらよいのでしょうか?
0728nobodyさん02/11/27 03:25ID:???
>>727
どうやって答えろってーのよ?
0729nobodyさん02/11/27 06:32ID:???
なんなんだ。この基地外な質問者たちは・・・
0730マリモーマ ◆jbBCmetwgw 02/11/27 09:01ID:XERl1QIT
s/@/\@/; なんかどう?
0731nobodyさん02/11/27 11:19ID:???
>>730
わざと無意味な処理をして、遅らせるコードですか?
0732nobodyさん02/11/27 14:06ID:rnXyEQwD
なんか、漏れの作ったCGIをPCでアクセスした場合と
i-modeでアクセスした場合とで、結果が異なるんだけど聞いてくれ。

a.plとb.plがあります。
アクセスすると、サーバにあるテキストファイルを
バイナリモードで返す仕組みです。

a.plはPCでもi-modeでも正常に動作しています。(返されるファイルは全く同じでした)
b.plはPCでは正常に動作しますが、i-modeでは改行コードがおかしくなってしまいます。

もちろん、もとのファイルは同じで、プログラム中では
共通の関数でバッファを取得しています。

>open(IN, $filePath)||&error("error");
>binmode(IN);
>sysread(IN, $buf, $size);
>close(IN);
>return $buf;

なにが原因なのでしょうか?

分け分からん??
0733nobodyさん02/11/27 19:45ID:RYTzzfC5
>>732
binmode(STDOUT);しる
0734nobodyさん02/11/27 20:49ID:Rg82s5yv
クライアントのモニター解像度をチェックするにはどうすればいいのでしょうか?
環境変数にはブラウザの種類とOSしか渡されないみたいなんですが‥
0735nobodyさん02/11/27 21:01ID:???
解像度をチェックして何をするのか小一時間問い詰めたい。
073673402/11/27 21:20ID:Rg82s5yv
>>735
投票CGIを作ってるんですが、連続投票をチェックするのに
ユーザーエージェント、ドメイン、モニター解像度で同一人物からの
連続投票かどうかを確認したいんです。

連続投票出来ないCGIを作れと言われるかもしれませんが、完全に
防ぐのは無理と思うので、一度連続投票をしたホストからは投票できな
CGIを作りたいのです。
0737nobodyさん02/11/27 21:40ID:???
>>736
UAとIP使えよ。充分だろ、それで。
073873402/11/27 22:19ID:???
>>737
UAとリモートホスト以外にも判断できる材料が欲しいんです。
2種類だけじゃ、ただの偶然だと言い張る人もいるものですから‥
0739nobodyさん02/11/27 22:22ID:???
>>738
リモートホストじゃなくてIPアドレスだったら唯一無二なんだから大丈夫だって。
偶然も何も無い。
0740nobodyさん02/11/27 22:24ID:???
>>738
javascriptで解消度cookieに保存して、CGIでcookie読むとか。
074174002/11/27 22:26ID:???
解消度 → ストレスだねこりゃ(;´ー`)×
解像度 → ◎
0742nobodyさん02/11/27 22:26ID:???
JScriptでCGIに直に渡してるのもあるよね。
074373402/11/27 22:35ID:???
>>739
回線繋げなおすと唯一無二じゃなくなります。
そして同地域に住む同じプロバを使う他人か、それとも回線を繋げなおしただけかが
分かりません。

>>740/>>742
なるほどJavaScriptを使うわけですか。ちょっと調べてみます。
0744nobodyさん02/11/27 23:29ID:???
cookie食わしてチェックすればいいじゃん。
UAでチェックしてるなら、複数ブラウザの使いまわしでいくらでも誤魔化せる。
cookieも同じだけどね。

解像度だって、複数PC使ってる人間には関係ない話だ。
結局良心に任せるしかないよ。
0745nobodyさん02/11/28 20:07ID:A4LV0zTm
アクセスカウンターじゃなくてアクセス解析だけをつけたいのですが、
KENT WEBのAccess Reportを見てもHTMLファイルへの組み込み方がよくわかりません。



<SCRIPT Language="JavaScript">
<!--
document.write("<img src='http://〜〜/report/report.cgi?");
document.write(document.referrer+"' width=1 height=1>");
// -->
</SCRIPT>

<!--#exec cgi="./report/report.cgi"-->

この二つ、どっちも駄目なようです。<body> </body>に書込むだけでは駄目
なのでしょうか?
よろしくおながいします。
0746nobodyさん02/11/28 21:01ID:???
>>745
君の鯖がどんな物か分からないとなんともいえないな。
BIGLOBEやniftyはcgi鯖が別にあるから気をつけて
074774502/11/28 22:13ID:A4LV0zTm
>>746
ホスティングです、どこに置いてもいいと言われましたがサポートに聞くと
いう問題でしょうか?
>「public_html」ディレクトリ以下に設置していただく事により、問題なく動作致します。
>exec cmd/exec cgi のみご利用いただけません。
という事です。
0748Rainbow-Link.net02/11/28 23:36ID:???
★★バナーを掲載してくださる方募集!★★

当サイトのバナー広告を掲載してくださるサイトを募集しています。

◆システム紹介
当サイトのバナーを貴サイト内に設置していただき、そこから送られた正当なクリックに応じて報酬をお支払いするクリック保証型バナー配信システムです。

◆特徴
・オンラインサインアップですぐにスタートできます。
・掲載サイトになるための費用は無料です。
・リアルタイムにクリック数/報酬金額の確認が可能です。
・銀行振込でスピーディな支払いが可能です。

◆料金体系
クリック単価:10円

http://www.rainbow-link.net/banner.asp


0749nobodyさん02/11/29 00:21ID:???
>>747
後者は駄目だろうが、前者が駄目な理由がわからん。
というか、動いているのに動いていないのと勘違いしてたりしないか?
パーミッションとかきちんと確認して、何がどう駄目なのかはっきりさせれ。
0750sage02/11/29 00:36ID:3tEKuEUH
http://yyycgi.s16.xrea.com/script/old/ftpproxy.txt
このCGIの動かし方がよくわかりません。
アクセスするとそのままとまってしまいます。
パーミッションとかがおかしいのでしょうか?いまは777にしているんですが…
0751nobodyさん02/11/29 08:21ID:???
>>750
777じゃ動かん可能性大
せめて755に
0752nobodyさん02/11/29 08:30ID:???
>>750
FTP Proxy Serverと書いてあるが・・・。
0753nobodyさん02/11/29 14:00ID:pnw7T/xi
>>747
いんくるーどヴぁーちゃるでいけ
0754nobodyさん02/11/29 15:41ID:dN9JwVyp
質問です。
Apacheを使わずにCGIだけを使って、個別ファイルのアクセス制御をしたい
です。例えば、最初のページで認証を行なって、ディレクトリやファイル毎に
アクセスを許可したり、拒絶したりするようなものです。
どのようなやり方が一般的でしょうか?

私の考えた方法は、アクセス毎にsession-idをつくって、session-idと同じ
名前のディレクトリをつくるというものです。もっとスマートなやり方が
ありそうです。よろしくお願いします。
0755nobodyさん02/11/29 18:19ID:???
>>754
普通ファイルアクセスに必ずCGI噛ますだろ。

いちいちディレクトリ作るって中身はどうなのさ?
いつ削除されるのさ?
0756nobodyさん02/11/29 18:30ID:dN9JwVyp
あっ、そうか。
アクセスするファイルを、Apacheでアクセスできないディレクトリ
(ex /home/hoge/data/)に置いて、CGIからアクセスすればいいの
かな。そういう感じですか?

ディレクトリは、アクセスする度にSession-idと時間を見て、作ったり
消したりかなーと思ったの。初学者なんで、すんまそん。
0757nobodyさん02/11/29 20:09ID:I1ECfjSv
> Apacheを使わずにCGIだけを使って
Apacheは鯖プログラム。
使いたくないならAnhttpdでもIISでもなんでもどうぞ。
0758nobodyさん02/11/29 20:10ID:I1ECfjSv
とか書いた上で、
.htaccessだけじゃだめ?>認証
したいことがわかりません。
0759nobodyさん02/11/30 00:16ID:01xWlARz
>>755-758
すいません。すこし自分の頭、整理します。
0760nobodyさん02/11/30 08:31ID:???
ApacheのBasic認証を使わずに
と言いたいんでしょう。
0761nobodyさん02/11/30 08:35ID:01xWlARz
>>760
そのとおりです。
0762nobodyさん02/11/30 17:56ID:YbgwiT2O
The Roomのranklinkで複数のカテゴリを1つにする
総合ランキングのカテゴリを作りたいのですがどなたか
作成している人おりますか?

http://breed.kir.jp/moro/

サイトの総合ランキングの見たいな感じです。
0763nobodyさん02/11/30 19:43ID:Lc6V5akA
>>762
CGI探していますスレにどうぞ。
0764nobodyさん02/12/01 03:58ID:???
cgiをどこに置いてもオッケーというプロバイダでホームページを作ってるんですが、
トップなどを置くディレクトリ(html)に入れたら動くのに、
そこからさらにサブディレクトリを作って、その中にcgiを入れると
動かなくなってしまいます。
Q&Aにはとくに対処法が書いてないのですが、
サブディレクトリをつくることで、cgi本体のparlの位置などを変える必要があるんでしょうか?
076576402/12/01 04:01ID:2MJb4ZlN
書き忘れましたが、バーミッションの設定などは合っていて、
関連ファイルの位置も合っています。
htmlフォルダの直下では動くのに、サブフォルダに移動させると動きません。
スクリプトは、作者によると、KENTさんの日記CGIのアレンジだそうです。
076676402/12/01 04:57ID:???
すみません、自己解決しました。
お騒がせいたしました。
0767nobodyさん02/12/01 16:53ID:EvFcbEYB
掲示板を設置して削除キーみたいのがあるんですが投稿したあとに
logファイルを見るとキーの場所が「2EJAvX55iWfkQ」みたいな感じで
投稿の際に書いた削除キーと異なるようになるのはどうしてですか?
0768nobodyさん02/12/01 17:17ID:???
>>767
暗号化してるから。
入力されたキーを同じように暗号化して比較することでチェックしてる。
暗号化されたキーから元のキーに復元することは不可能だから、漏れても安心。
076976702/12/01 17:19ID:EvFcbEYB
>>768
ありがとうございました。
0770nobodyさん02/12/01 18:31ID:w1QS1aFK
ロックファイルの設定を失敗してしまい、
消せないフォルダが大量に出来てしまいました。
CGIのほうは今修正しているんですが
とりあえず今はそのサーバスペースにモノをおきたいので
消せないフォルダを削除する方法は無いでしょうか?
ちなみにiswebです。
0771nobodyさん02/12/01 18:33ID:???
ROM表示ができて簡単に設置できるチャット探してます(´д`;)
0772nobodyさん02/12/01 19:28ID:s6SWntCi
・フォームに書き込む
↓
・送信ボタンを押す
↓
・そのサイト内の指定したページにフォームに書き込んだ文章が書き込まれていく
 書き込まれた内容は、管理人が削除しない限り書き込まれたまま

ということをしたいんですが、どうやったらできるんですか?
0773nobodyさん02/12/01 19:34ID:???
>>770 どういう方法で消そうとしてできなかったの?

>>772 どこでつまずいてるのかを書いたほうが答えやすい

なんでこう具体性を欠いた質問ばっかなんだ?
077477202/12/01 19:51ID:s6SWntCi
>>773
躓いているのではない。
1からわからないんです・・・
0775nobodyさん02/12/01 20:00ID:ripvnwrq
>772
T-cupか何かの無料レンタル掲示板使えば?
0776nobodyさん02/12/01 20:20ID:???
>>772=>>774
何から何まで聞くつもりか。
氏ねとは言わんがCGI作るのはやめろ。迷惑過ぎ。

こんなCGI探してますスレッド Ver7
http://pc.2ch.net/test/read.cgi/php/1031910901/

これがお似合い。
0777nobodyさん02/12/01 21:16ID:???
>>770
きっとnobody権限でCGIが動くサーバーなんだろう。
1行目にPerlのパス、次の行以下に
rmdir "消したいディレクトリ";
って書いたCGIファイルを作ってアップしてパーミッション設定して実行。
中にファイルがあったらそっちを先に削除してからな。
0778nobodyさん02/12/02 00:40ID:???
PERLでもPHPでもそうなんだけど
locationでjpgに飛ばした場合その画像を
IEの名前付けて保存とすると無題.bmpになるんだけど
どうしてよ?
0779nobodyさん02/12/02 00:50ID:???
>>778
「インターネット一時ファイルの削除」はやってみた?
0780nobodyさん02/12/02 01:18ID:???
>>779
やってみた locationで飛ばした場合だけ無題.bmpになる。
フツウにアクセスした場合は問題ないです。
078178002/12/02 01:59ID:???
Operaだとなんの問題も無い
ヤパーリIEがクソなのか
0782nobodyさん02/12/02 16:00ID:???
君がウンコ
0783nobodyさん02/12/02 16:24ID:???
確かに
0784nobodyさん02/12/02 17:21ID:vPWFuwnv
wwwupl2を使って、現在使っている掲示板に画像アップロード機能を
付けたいんですが、掲示板にその画像を表示させるには
どうしたらよいのでしょうか?もしよろしければご教授くださいませ。
0785bloom02/12/02 17:48ID:Ss+94/LC

http://www.agemasukudasai.com/bloom/
0786nobodyさん02/12/02 20:29ID:???
>784
素直にアップロードのできる掲示板に切り替えろ。それが一番問題がない。
デザインが気に入っているとかほざくんなら、アップロードのできる掲示板のデザインを変えた方がマシ。
0787nobodyさん02/12/03 01:45ID:???
とりあえず暫定的にタグ入力を促した解説文を書いて
掲示板内に設置しました。
でもこれだとかなり不親切だ・・・。
まぁ、あまり使われても困るわけだけど。
どっかに落ちてないかな・・・簡単に導入できるやつ。
078877002/12/03 15:54ID:???
>777さん
解決しました!
ありがとうございました
0789nobodyさん02/12/03 19:21ID:hVzOazjk
Limeアクセスカウンターでページ毎に集計を取ろうと思ってもトップ
しかできません。
<IMG SRC="パス/lime.cgi?page=識別番号&name=ページ名&hp=ウエブページのURL">
を各ページに貼ってるのですが。
よろしくおながいすます。4
0790nobodyさん02/12/03 19:44ID:???
Limeアクセスカウンターって何よ?

識別番号,ページ名,URLは各HTMLごとにちゃんと変えてるのか?
079178902/12/03 19:45ID:hVzOazjk
>>790 http://www.kent-web.com/count/lime.html?
変えてます。
0792nobodyさん02/12/03 21:39ID:???
>>789
そーゆーのは配布元に聞け。
0793102/12/03 23:05ID:???
こんなのはどうでしょうか・・・?

【ついに】Winnyで逮捕者【タイーホ?】
まさか!と思うあなたは
↓↓↓↓↓↓実況スレ↓↓↓↓↓↓↓
http://choco.2ch.net/test/read.cgi/bobby/1038742045/

ありえない!と思ったら
↓↓↓↓↓↓実況スレ↓↓↓↓↓↓↓
http://choco.2ch.net/test/read.cgi/bobby/1038742045/

すんません言葉がおもいつかないですw
0794nobodyさん02/12/04 20:59ID:vkFoEBtZ
雛型PDFから文字列置き換え某の処理やって、PDF出力っていうのを
オープンソースでやりたければ www.zope.org のやつを使うのがベスト。

っていうことでOK?
0795nobodyさん02/12/04 22:27ID:???
http://tohoho.wakusei.ne.jp/lng/199808/98080025.htm
の所に書いてある

>#!/usr/local/bin/perl
>print "Content-Location: http://localhost/jumpto.html\n\n";
>という2行CGIスクリプトを実行したら、Locationと同様にジャンプ
>できました。
って出てるんですがうちでは全く動かないのですが
本当にこれで動くんでしょうか?
0796nobodyさん02/12/04 22:39ID:???
>>759
うちってどこだよ。もしかしてそのままスクリプトをコピペしたのか?
だったら行くわけないだろうに。ApacheかAnHTTPD入れてんのか?
079779602/12/04 22:48ID:???
795に対してだった。スマソ
079879502/12/04 23:01ID:???
もちろんlocalhostのままじゃないよん
ANHTTPDでもUnixApacheでも同じだった。
全くの白いページが表示されますた。
0799nobodyさん02/12/05 09:01ID:???
>>795
4年前の記事。
今は使えない。
0800nobodyさん02/12/06 08:32ID:???
軽く質問です。

CGIの掲示板を改造していまして、デザインを改造していたのですが、なぜか
「送信ボタン」を押すと、次のページで生のソースが表示されてしまいます。

どんなことが原因をして考えられるでしょうか?

ヘッダを書き出す部分は、以下のようになっているのでOKだと思うのですが…

print qq|Content-type: text/html;charset=Shift_JIS\n\n|;
0801nobodyさん02/12/06 08:49ID:???
>>800
すみません。解決しました。

デバッグ用のprint文がcontent-typeを吐き出す前にあったからのようです。
Mozillaではソースが表示されるのにIEはOKなんですね。

ご迷惑おかけしました。
0802nobodyさん02/12/06 12:42ID:???
>>801
細かいことだが「IEがOK」とはこれ如何に。
0803来ないので02/12/06 12:56ID:JJQHVPDo
作ったCGIをオフラインでチェックできるツールってない?
0804nobodyさん02/12/06 13:37ID:???
>>803
環境変数を適宜セットして、実行すれは?
■ このスレッドは過去ログ倉庫に格納されています