CGIだけど、なんか質問ある? part 6
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/04/23 20:28ID:Kp0cZQna<<注意:CGIは特定の言語に依存するものではありません>>
Perlのコーディングに関する質問はこちら
【Perl】初心者コーナーPart11
http://pc.2ch.net/test/read.cgi/php/1017201229/
過去ログは>>2
0413402
02/05/31 13:21ID:???とりあえず411さんご指摘の点を確認してみます。
410さんのは残念ながらどちらも参照できません。
0414401
02/05/31 13:45ID:???(>Д<)カァーッ もったいね。
アパッチとjcode.plてにいれてどっかからBBSのさんぷるダウンロードして
いじればよかろうに。DBはcsvなら生perlで操作できるし。
認証登録はJavaScriptとくみあわせで。
ねたじゃないならがんばれよ。
0416ato
02/05/31 18:09ID:juLGZYorやっぱりそうですか・・・
これってクッキーの仕様なんですよね。
0417Miku
02/05/31 21:50ID:Hmv37yghありがとうございましたー。
ってことはCGIはどうやってUPするのでしょうか?
WEB管理領域からひとつづつファイルをUPしなくちゃいけないのでしょうか?
それでも、CGIって動くものなのですか?
イラストはUPできたのですがそのほかの動かすためのものと思われるファイルは
拡張子が間違ってる(確かこんな文でした)と出てしまってUPできませんでした。
よい方法があったら教えてください。
よろしくお願いします。
0418nobodyさん
02/05/31 22:24ID:???手っ取り早いのは、
http://pc.2ch.net/perl/
を見て別なところに移る。
0419Miku
02/05/31 23:16ID:Hmv37yghいろいろありがとうございます。
早速、色々行ってみようと思いますー
0420nobodyさん
02/06/01 19:40ID:nzbM1s7O扱うのではどう違うのでしょうか?私の知識の範囲ではpassを暗号化して
扱うとのことでしたが外からcgi動作がみられるからなのでしょうか??
0421nobodyさん
02/06/01 21:04ID:???見られてもパスがバレないように暗号化してる。
0422420
02/06/01 21:59ID:nzbM1s7Oそれとそれはだれでもできちゃうのでしょうか?
0423nobodyさん
02/06/01 22:10ID:???家の鍵を二重三重にする人いるよな?
家の鍵一つだと心配だからだ。
鍵一つこじ開けるのは誰にでも出来るわけじゃないが、鍵を二重三重にする必要はある。
それだけ大事な物があるんだ。
誰にでも見られるかどうかじゃない。
誰か一人に見られたらそこから広まるかもしれないんだ。
0424nicebody
02/06/01 22:45ID:kZhOwKpMどの部分っていうと、やっぱりログとか。
暗号化されてないと、ログ見て一発でわかっちまーうような
0425420
02/06/02 00:01ID:KPQ1rimm0426nobodyさん
02/06/02 00:04ID:???0427420
02/06/02 00:07ID:KPQ1rimmがんばってみます。
それともしよければ自己チェックのためにそのログかなんかで
覗く方法みたいなものを教えてもらえないでしょうか?
面倒ならいいです。
0428nobodyさん
02/06/02 00:14ID:???厨が実践したりすると後が面倒だから嫌。
0429nobodyさん
02/06/02 11:25ID:YzkleNfhHOST部分が210.0.xxx.xxxのような表示になっているんです。
同じCGIをそのままtripod以外の日本のサーバから呼び出したばあいは
abcd.11.co.jpみたいな表示になるんですが、tripodでもこのように表示させたいのです。
どう書きかえればいいんでしょうか。
どんなアクセスかもわからんでどこを書き換えればいいかわかると思うか?
0431429
02/06/02 11:42ID:YzkleNfhすいません、どんなアクセスかとはどういう意味ですか?
訪問者のリファ、OS、ブラウザ、HOSTなどを取得するアクセス解析なのですが。
そういうのをアクセス解析というぐらいは誰でも知ってる。
IPアドレスじゃなくホスト名で表示させるのにCGIがどの方法で
やってるかがわからないと答えようがないってこと。
0433429
02/06/02 11:59ID:YzkleNfhそれならこの部分だと思うのですが。
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
if ($host eq "" || $host eq "$addr") {
($p1,$p2,$p3,$p4) = split(/\./,$addr);
$temp = pack("C4",$p1,$p2,$p3,$p4);
$host = gethostbyaddr("$temp", 2);
if ($host eq "") { $host = $addr; }
}
0435nobodyさん
02/06/02 12:16ID:???やっと、質問の意味が解った。IPアドレス表記をホスト名表記に
すれにはどうしたらいいですか? という質問だろ?
答え:無理です
理由:
インターネット上のコンピューターにはIPアドレスが割り振られても
【名前】まで付けられているとは限らないからです
0437教えて君
02/06/02 15:01ID:Tbi7w50X($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$year += 1900;
$month = $mon + 1;
@dayname = ('日','月','火','水','木','金','土');
このあたりが怪しいと思うのですが見当違いですか?
初心者でスンマセン
0438おいらのはこんなかんじ
02/06/02 15:06ID:???0439教えて君
02/06/02 15:08ID:Tbi7w50X0440nobodyさん
02/06/02 16:58ID:???今までのが使えなくて困ってます。
0441nobodyさん
02/06/02 19:31ID:???0442nobodyさん
02/06/02 20:42ID:vm77zLAn↓こんなのが出ます。
Internal Server Error
設定は〜〜〜〜〜〜〜〜〜
#!/usr/local/bin/perl
# jcode.pl取込み
require './jcode.pl';
# 隠しディレクトリへのパス
$target_dir = "/home/自分のID/public_html/gatex";
# ID/PASS記録ファイル
$passfile = 'pass.txt';
# ログ履歴ファイル
$reclog = 'log.dat';
# methodの形式(POST/GET)
$method = 'POST';
# スクリプトファイル名
$script = './regist.cgi';
# 登録内容は登録者へメール通知 (0=no 1=yes)
$mailing = 0;
# 管理者の名前 (メール通知の時の署名)
$admin = "管理人";
# 管理者のメールアドレス
$my_mail = '◎◎◎@.ne.jp';
# sendmailパス
$sendmail = '/usr/sbin/sendmail';
に変更後、ディレクトリ/public_html/gatex
の中にindex.html(パス発行�n755)regist.cgi(実行ファイル755)jcode.pl(644)を入れています。
初心者の為どうしていいのかわかりません。
易しく教えて頂けませんか?検索しましたが自動発行に関するのは無かったので…
0443nobodyさん
02/06/02 21:25ID:???kentで聞け。
特定の一つのCGIに対する挙動の場合は、配布場所に聞くのが一番確実。
0444ぎもじら
02/06/02 21:41ID:???パールの機能で、あるプログラムにデータを送信する手段は何ですか?
例えば、ある起動中のプログラム192.168.1.1の4545ポートを空けた
やつに自作コマンドを送信したいんだけど。
つまり、パールにソケット関数みたいなものはありますか?
0446nobodyさん
02/06/02 22:09ID:???http://www.bh.wakwak.com/~min/cgi-bin/monoceros.cgi
何がいけないんでしょうか・・・
お教えいただければ幸いです。
0447nobodyさん
02/06/02 22:24ID:???意味不明。アクセスログの部分か?
0451nobodyさん
02/06/03 07:08ID:yzIL9oyQ0452nobodyさん
02/06/03 08:41ID:???0453nobodyさん
02/06/03 10:14ID:L20AUJA00454あぼーん
NGNG0455nobodyさん
02/06/05 02:26ID:LLzfz/IZどうしたら良いでしょうか?
登録済みのデータと照合するだけでは?
0457455
02/06/05 02:35ID:LLzfz/IZ改造しようと思ったのですが上手くいかなくて(鬱
0458nobodyさん
02/06/05 03:26ID:???自分の知ってるものを誰もが知ってると思うな。
0459リトマス試験紙 ◆9S86wbO.
02/06/05 05:03ID:NJP3VrAWFORMのGETとPOSTってどう違うんですか?
0460nobodyさん
02/06/05 05:19ID:HfJL5Sid>自分の知ってるものを誰もが知ってると思うな。
知らない奴居るのか?
0463nobodyさん
02/06/05 07:25ID:???ナニソレ?
0464nobodyさん
02/06/05 07:37ID:???わからないよ。
0465nobodyさん
02/06/05 08:38ID:???0466nobodyさん
02/06/05 09:52ID:???>>459
GETはURLの末尾にエンコードされた形でくっついて送られる。
サーバによっては長さに上限があったりするので、長文を送るのには適さない。
またサーバへのアクセスログとして残るので、
アクセスログさえ見ることが出来れば誰がどんな内容を送信したのかがわかるし、
パスワードなんかをGETメソッドで送信するとあっさりばれる。
POSTは標準入力から読むことが出来て上記のようなことがない・・・くらいしか知らんです。
でもGETメソッドはPOSTメソッドよりもレスポンスが早いような気がしないでもない。
(Me(;´Д`)+anhttpd(;´Д`)+ActivePerl5.5(;´Д`))
0467nobodyさん
02/06/05 12:17ID:???↑これってどんいう効果があるんですか?
0470nobodyさん
02/06/05 13:05ID:???>POSTは標準入力から読むことが出来て上記のようなことがない・・・くらいしか知らんです。
Webサーバがstdinに書き出しているだけであってデータ自体はリクエストの中に含まれます(あたりまえだが)。
アクセスログ見れば結局ばれます。
0471467
02/06/05 13:34ID:???ありがとうございました。なんとなくわかりました。
というか覚えておきます。
>>469
これからは my しることにします。
更に質問ですみませんなんですが、
ログファイルから読み込んだURLを
$url=~s/(\W)/'%' . unpack('H2',$1)/eg;
をしてから
<a href=$url>
とすると
http://127.0.0.1/http://www.2ch.net/
となります。
これは何故ですか?
0473467
02/06/05 13:44ID:???http://127.0.0.1/http://www.2ch.net/
こんな風になっています。
保存形式は
1<>2ch<>http://www.2ch.net/
でふ。
0476nobodyさん
02/06/05 15:13ID:86IkqFh+IEで、SSLのサイトに対して、POSTメソッドを送信すると
HTTP400(不正な要求)のエラーになってしまいます。
但し、戻るボタンで戻って2回目以降は正常に動作します。
ネスケでは問題ありません。
どうも、SSLサイトの最初の要求にPOSTするとダメみたいです。
こんなことで3日も悩みつづけてます。誰か助けてください!
0477467
02/06/05 17:08ID:???0478nobodyさん
02/06/05 17:16ID:86IkqFh+パスワード送ってます。。
補足ですが、サーバー証明書は自前の証明書を使ってます。
0479リトマス試験紙 ◆9S86wbO.
02/06/06 01:21ID:KIpxDlw7親切なレスありがとう。
j-sky板で「J-skyのみCGIが動かない」って聞いたら
誰かがPOSTをGETにしてみって教えてくれたので
どう違うのか気になったので。
ちなみにGETにしても動かない・・・ なんで?
i-modeとEzwebなら動くのに。
どんなCGIかもわからなきゃ・・(略
0481455
02/06/06 05:18ID:lJdhlkUBもう一度質問させて頂きます。
kentwebさん配布CGIのcosmo gatexを使用していますが
同じメールアドレスからの多重登録に困っています。
色々cgiについて勉強したのですが上手く行きません。
力を貸して頂けないでしょうか…
0482nobodyさん
02/06/06 12:30ID:???@lo = <IN>;
クローズ
略(@lo){
if($メールアドレス eq $登録しようとしたメール){
&error(きさまーーーーーーーーーーーーーーーー!!!!!)
}
}
0483nobody
02/06/06 21:19ID:8Pq10XEpUSER_ID登録処理って辺りがヒントだ。
ってそのままか(w
0484nobodyさん
02/06/06 22:19ID:2AVSGszZCGIまわり、スクリプトも含めてすべてsjisにしました(それが一番てっとり早かったので)。
perlメモなどでもEUCが一番問題発生しにくいとのことなので
今まで意味もわからずEUCを使ってきましたが、
実際sjisでどんな問題が起こる可能性があるのですか?
0485nobodyさん
02/06/06 22:19ID:0WEL9zsI0487nobodyさん
02/06/06 22:28ID:0WEL9zsIありがとうございます
ユーザが自分で登録できるregist.cgiを併用してのことかな?
regist.cgiの
<input type=hidden name=email value="$FORM{'email'}">
で得られるメールアドレスと
print LOG "$id<><>0<>$memo<><><>$name<>$email<>\n";
で記録されるログのメールアドレスを>>482のように処理すればいいんだよ。
0489nobodyさん
02/06/06 22:34ID:???自分も気になったので探してみたら、こんなん見つけた
http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm
0490484
02/06/06 22:48ID:???ゲッ!! ま、まずいっす..
スクリプトだけeucにして、表示とデータファイルだけ
sjisにすれば問題ないでしょうかね..
データ読み込む度にeucに変換して書き出すたびにsjisに変換、
ってあんま美しくないけどしょうがないかなあ
なんにしろ、ありがとうございます>>489さん
0491481
02/06/07 06:19ID:TU5ebGXRどぉもありがとです!
きさまーーーーー!!には超笑いました。
0492nobodyさん
02/06/07 14:32ID:???わからないので教えていただけますか?
・ボタンではなく文字列やイメージをクリックしたときに、
CGIスクリプトに対してPostで情報を送りたい
→URLに送った内容を出したくないのです
・Javaスクリプトを使いたくない
→無効にしている方もいると思うので
・cookieも使いたくない
→無効にしている方もいると思うので
可能でしょうか?
0494nobodyさん
02/06/07 15:16ID:???<input type=image>でできないかな?
0495nobodyさん
02/06/07 16:28ID:???答え:可能です
<BUTTON>
<IMG SRC= .......
</BUTTON>
参照:
http://www.zspc.com/html40/interactivity/form.html#button
0496nobodyさん
02/06/07 16:41ID:???ひらがながはいるとだめです。教えてください。
0497496
02/06/07 16:47ID:???open NAME_, "$namelog";
$name_ = <NAME_>;
close (NAME_);
if ($name_ =~ /,$name/) {
print $error2;
exit(0);
}
$nameがformから送られてくるもので$namelogが探す一覧です。
漢字以外はマッチしません
0498nobodyさん
02/06/07 17:58ID:???0500nobodyさん
02/06/07 21:07ID:???JPERL使うとか。
EUCなら、
$EUC_JP_ = '[\x00-\x7F]|[\xA1-\xFE][\xA1-\xFE]|\x8E[\xA1-\xFE]|\x8F[\xA1-\xFE][\xA1-\xFE]';
$str =~ /^(?:$EUC_JP_)*,\Q$name\E/;
>>498
indexも日本語はうまくいきませんな。確か。
0501500
02/06/07 21:16ID:???よく考えたら、`,'があるなら、
$str =~ /,\Q$name\E/;
で十分?
0502nobodyさん
02/06/07 21:45ID:???http://www.mistlarouge.com/game/efm/
↑みたいなサイトがあるんだけど、これって、昔はやったFFAじゃない?
検証きぼんぬ
ちなみに、FFA本家は
http://mati.wnj11.jp/index2.htm
FFA(改)本家は
http://www.gun-online.com/
0503あぼーん
NGNG0504nobodyさん
02/06/08 00:38ID:IssrbWFC0506nobodyさん
02/06/08 01:05ID:lYR6rg870508nobodyさん
02/06/08 01:21ID:lYR6rg87どう書けばよいですか?
0509nobodyさん
02/06/08 01:33ID:???配列要素に重複がない場合
@hash{@array} = (0..$#array);
@matched = map { $hash{$_} } grep { /PATTERN/ } @array;
print "@matched\n";
こんな感じ?
0510nobodyさん
02/06/08 01:35ID:lYR6rg87やってみます。
0511nobodyさん
02/06/08 17:08ID:WOT+eMUF教えてください。
0512nobodyさん
02/06/08 17:36ID:???.htaccessとかを勉強するとわかるようになる。
ここで教えるには板違いだから、自分でがんばろう。
0513nobodyさん
02/06/08 17:36ID:???2chのCGIは拡張子.cgiだけんど?
コレとか→ <form method=POST action="../../../bbs.cgi">
コレとか→ http://pc.2ch.net/test/read.cgi/php/1019561283/510
■ このスレッドは過去ログ倉庫に格納されています