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

このエントリーをはてなブックマークに追加
462nobodyさん
すみませんが質問です
http://hp.bird.to/info/countget.htmlのCGIで
連続でカウンタが回されないようになっているようですが
これはどのような仕組みで回らないようになっているんでしょうかねぇ?

自分で色々試した結果
cookieではないようです

ってことは相手のcgi側でアクセスログを取っているってことですよねぇ?
これを回避してカウンタを回すにはどうすればよろしいのでしょうか?
串刺してアクセスすれば回せますよねぇ?
463nobodyさん:02/08/08 00:02 ID:???
前の数回のIPでも記憶しておいて、それと照合して合ったらカウントしない。
464nobodyさん:02/08/08 00:02 ID:???
なんで変なの一杯来てるの?
465nobodyさん:02/08/08 00:07 ID:???
>>464
自己紹介せんでええ。
466462:02/08/08 00:08 ID:kiQ1aKPI
>>463
レスありがとうございました
ってことはIP変えれば(串通せば)カウンタを回す事が出来るんですね?
467nobodyさん:02/08/08 00:12 ID:???
生→串→生→串→、、、とローテーション組めばどんどん回る
468nobodyさん:02/08/08 00:15 ID:???
ははは
469質問:02/08/08 01:28 ID:o/KxESaR
2ちゃんのリンク集を作っているのですが、ライブなスレッドと
過去ログに行ってHTML化されたスレッドはどのように判別すれば
いいですか。ライブなスレッドは板が引越ししたら
URLを変えないといけないが、すでにHTML化されたスレッド
だったらURLを変えてしまうと見れなくなる。だからそのスレッドが
ライブなのか、過去ログに行ってHTML化されているのか判別して、
ライブだったら板の移転に合わせてURLを変更し、HTML化されて
いればURLをいじらずにそのままにするようにしなければならない。
その判別はどうやったらいいのか。
470nobodyさん:02/08/08 01:30 ID:67DgjdRz
自分が手でやってる事をコードに書くだけ
471462:02/08/08 12:37 ID:kiQ1aKPI
>>467
そうですよね
でも漏れの知っている串(http://www8.big.or.jp/~000/CyberSyndrome/で検索)では
ホスト名&IPなどが隠せないんですよ
ちゃんと匿名串を使っているのに…

鬱だ……
472nobodyさん:02/08/08 12:45 ID:???
>471
同じIPからだと1日1カウントしか収集しないんじゃないかな?
だとしたら、10個カウンター回したいなら、10個のIPが必要。
473462:02/08/08 13:00 ID:kiQ1aKPI
>>472
 >>467のようにすると何回でも回せるみたいです
漏れは串持ってないので携帯を使ってます
実験ではPC→携帯電話→PCを繰り返すと回ります
でも携帯使うと通信料が一回12円かかります
どうしましょう…
474nobodyさん:02/08/08 14:36 ID:???
ちょっと臭いな
475462:02/08/08 17:05 ID:kiQ1aKPI
>>472
やっぱり10回まわすなら10個のIP必要ですね
カウンタは>>467のようにすれば回りますが、
キリ番ゲットページで「あなたのカウント」は回ってないんですよ

どぉ〜しましょ
476nobodyさん:02/08/08 17:24 ID:???
>475
そもそもなんで回したいのよ?
不正な方法でキリ番ゲットしたいの?
477462:02/08/08 17:31 ID:kiQ1aKPI
>>476
キリ番げっとするとプレゼントが貰えるんです

携帯電話でのアクセスでは
「あなたのカウント」が「未取得」になってしまいます

串を使っても、そうなってしまう可能性が出てきました
もうだめぽ……鬱
478nobodyさん:02/08/08 17:36 ID:???
カエレ(・∀・)!!
479.:02/08/08 18:11 ID:???
アホか。
480nobodyさん:02/08/08 19:12 ID:???
┐('〜`;)┌ 臭いと思ったら
481質問です:02/08/08 21:49 ID:o/Pn3LPJ
cgiでhtmlを書き出すときにSSIをprintするとそのまま

<!--#include file="xx.html" -->

って出てしまうのですが、
.htaccessのAddTypeに.htmlを加えるしかないのでしょうか?
他の解決方法を教えてください。

どなたか答えてくれるとうれしいです。よろしくおねがいします。
482nobodyさん:02/08/08 22:01 ID:???
CGIでSSIをしてるの?

意味無い気がする。
483Apache/1.3.20@RHL7.2J:02/08/09 00:49 ID:???
次レスのスクリプトをWEBで実行しようとしたのですが、
下記のログようなエラー(Internal Server Error)になります。
ちなみに、webサーバマシンでスクリプトを実行して、html文にリダイレクトしたら、思うようにページが表示されるのですが…
(./googre2.cgi > googre2.html)
どこが間違ってるところはどこなのでしょうか?

[Thu Aug 8 19:43:16 2002] [error] [client 10.10.1.38] script not found or
unable to stat: /var/www/html/cgi-bin/googre2.cgi
[Thu Aug 8 19:43:52 2002] [error] [client 10.10.1.38] Premature end of
script headers: /var/www/html/cgi-bin/google2.cgi
484483のスクリプトです:02/08/09 00:53 ID:GqWWhT2W
#!/usr/bin/perl

print '<!DOCTYPE HTML PUBLIC"-//W3C/DTD HTML 3.2 Final//EN">';
print '<HTML>';
print '<HEAD>';
print '<TITLE>google_mail1</TITLE>';
print '</HEAD>';
print '</body>';
print '<META http-equiv="Refresh"
content="0;URL=http://www.google.co.jp/search?q=&ie=UTF-8&oe=UTF-8&hl=ja&btn
G=Google+%
E6%A4%9C%E7%B4%A2&lr=">';
print '<base target="_top">';
print '</NOFRAMES>';
print '</FRAMESET>';
print '</HTML>';

他のスクリプトはWEB上で実行できてます。
スクリプトは、WinPCからtelnetでログインして貼り付けました。
前レス「間違ってるところはどこなのでしょうか? 」の間違いです。すみません。
485nobodyさん:02/08/09 01:18 ID:???
CGIにはヘッダというものが必要です。

print '</NOFRAMES>';
print '</FRAMESET>';

これは何なの? キミはまだCGI以前にタグの学習が必要では?
486nobodyさん:02/08/09 03:17 ID:???
> CGIにはヘッダというものが必要です。

そんなことはない。
487nobodyさん:02/08/09 03:35 ID:???
>>485
どこに突っ込んでるの?
s/CGIには/CGIスクリプトの出力には/
ならOK?
488K:02/08/09 07:19 ID:u713FiUQ
会社で、研修があって某予約システムを作ることになりました。
この後に控えている私の仕事がCを使うということもあって、「どうせならC言語でCGI作ってみて」という話になりました。
WEBサーバとSQLサーバには何を選択してもいいのですが今のところは、
MicrosoftのSQLサーバとIISを使用する予定です。

ただ、いくら本を探してもC言語でSQLサーバとやり取りする方法の書かれたものが見当たりません。

当方はWindows2000を使っています。
とりあえず、IIS上でCでコンパイルした実行可能CGIファイルを動かしたいのですが、うまく動きません。

動かそうとすると、ユーザ名とパスワードを要求されます。
(ちなみにこのCGIプログラムをコマンドプロンプトで実行するとちゃんとHTML形式の文書が出力されます。
(よくあるHELLO WORLDです。(^^;))
ファイルのパーミッション(右クリック→プロパティ→セキュリティ)はeveryoneでフルコントロールです。

長くなりましたが、現在足がかりがほとんどない状態です。
どなたかアドバイスやお勧めの本やWEBページがありましたら教えてもらえると幸いです。
お願いします。m(_ _)m
489nobodyさん:02/08/09 11:43 ID:???
$page=$ENV{QUERY_STRING}

my $start = ($page * $one_page) + 1;
my $end = $start + $one_page - 1;
my $i = 0;
open IN , $data_file;
while ( <IN> ) {
last if $i++ >= $end;
print if $i >= $start;
}
close IN;
my $next = $page - 1;
my $back = $page + 1;
my $p_start = ($page * $one_page)+1;
my $p_end = int ( $max_article / $one_page );

print qq|<p>|;
print qq|<a href="$script_name?$next"><< 新しめの$one_page件</a> \n| if $next >= 0;
for ( $p_start..$p_end ) { print qq|<a href="$script_name?$_"><$_></a>|; }
print qq| <a href="$script_name?$back">古めの$one_page件 >></a>\n| if $end < $max_article;
print qq|</p></body>\n</html>|;

ページングとやらをやってみようと、何とかページ数の表示は出るようになったんですが、
肝心の記事表示がまともに出来ません。どこが間違っているんでしょうか。
ちなみに、
$max_articleは現在の件数。$one_pageは1ページに表示する件数。
$data_fileは1行ずつ↓のような形式で保存してます。
<h2>[$num] $name - $date</h2><p class="i">$comment</p>
490nobodyさん:02/08/09 11:55 ID:???
>>489
ソースの一部だけ見せられても、$one_page とかにどんな値があるのかないのか
さえわからんだろ。
491489:02/08/09 12:22 ID:???
>>490
そう思ったので$max_articleと$one_pageの値に関しては後半に書いておきました。
492nobodyさん:02/08/09 12:27 ID:???
>>491
だから、実際のソースに値があるのかないのかがわからんだろ。
493489:02/08/09 12:51 ID:???
my $one_page = 10;

open IN , $data_file;
my $max_article = <IN> =~ /^<h2>\[(\d+)\]/;
$max_article = $1;
close IN;

変数の宣言部分を省略していたのがまずかったですね。
$data_fileの一行目が最新の記事で、$numに記事の番号を記録しているので、
そこから数値を抜き出して記録されている件数としています($max_article)
494489:02/08/09 13:04 ID:???
自己解決しました。スレ汚しスミマセヌ(´・ω・`)
495困ったチャン:02/08/09 17:41 ID:???
CGIファイルから処理の途中で
別のCGIファイルを呼び出す方法をおせーて?
BY困ったチャン
496困ったチャン :02/08/09 17:44 ID:???
追伸
すいませんけど
Perlです
BY困ったチャン
497nobodyさん:02/08/09 18:32 ID:???
意味がわからん。
別のCGI内のサブルーチンでも使いたいのか?
498nobodyさん:02/08/09 18:34 ID:???
#>>495
#> おせーて?
#
#ここに疑問符が付くのは疑問な訳だが...

``
499nobodyさん:02/08/09 19:05 ID:???
WEBで落とせるチャットCGIをいじってます。

ログに書き込み者のIPを記録し、そのままHTML出力に表示させたいのですが、
全部の行が同じIPになってしまいます。
(違うIPになると、全行のIPがそれになってしまう)

$ad = $ENV{'REMOTE_ADDR'};
とCGIに記述して、
表示させたい部分に$adを埋めるだけじゃダメなんですか?
500nobodyさん:02/08/09 19:10 ID:???
だめ。
それじゃ、見た人のIPにしかならない。
別ファイルに書き込んで、読み込むなりしないと。
501499:02/08/09 19:21 ID:???
>>500
ご助言ありがとう。
いま、DATに書き込み者のIPを記録するようにしました。
こんどはどうやって読ませようか悩んでます。
いい手本が手元にないんですよ。
502nobodyさん:02/08/09 19:40 ID:???
>501
手元になければ探せ。
いくらでも転がってるぞ。
503nobodyさん:02/08/09 20:16 ID:???
cgi内で、別のプロセスを起動させるとエラーになるんですけど........
system($cmd,$arg);を使う時はapacheに何か、設定を加える必要ありですか?

504nobodyさん:02/08/09 22:37 ID:???
エラーの内容書け。
505にすと:02/08/10 00:07 ID:k/CbtY7I
新しい質問なんですけど、kent-web(http://www.kent-web.com/)のyycahtを使っているんですけど、トップから入室者を表示させる方法は
ありますか?
もし、ありましたらお教え下さい。
506nobodyさん:02/08/10 00:11 ID:???
member.dat を外部から読み出してtopに表示。
SSIが使えない環境だと難しい。
507nobodyさん:02/08/10 00:13 ID:???
>>505
【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/l50

改造を頼むのなら上のスレの1に書かれていることちゃんと読んでからな。
ま、このスレの>>1も読めないやつには無理かもしれんが(w
508nobodyさん:02/08/10 01:44 ID:???
>>488
IISの設定確認しろ。
ローカル環境で試してるのか?
そうでなければコンピュータへのユーザ権限がない。
その他ユーザ回りをしっかり確認しろ。
509nobodyさん:02/08/10 16:20 ID:???
<form action="mailto:mailaddress">
でフォームを送信してもらったあと「送信しました」ページを表示させる方法を
教えてください。
510nobodyさん:02/08/10 16:23 ID:???
何か間違えている可能性。
511nobodyさん:02/08/10 22:28 ID:???
うん。
512nobodyさん:02/08/10 23:05 ID:???
>>509
JavaScriptでできそう。
板違いなのでage
513nobodyさん:02/08/10 23:34 ID:BXA7DZha
>>499-501の者です。
おおかたのIP表示のCGIをあさってみたんですが、
IPもしくはホスト取得後、記事部に表示させる記述は

print"$ip $host"
といったものでした。
なぜ、既製品に自分で書き加えると全行、自分のIPもしくはホストが反映されてしまい、
元から機能がついているとちゃんとログから持ってくるかが判別できないのです…
514 :02/08/11 01:21 ID:aEO6uXrg
ブラウザから自分のWebページを書き換えるスクリプトを書いているんですけど、
書き換えるHTMLファイルのパーミッションを666などに設定する必要がありますよね?
これってなにか危険性あります?
515nobodyさん:02/08/11 03:02 ID:???
ありすぎ。
書き換える直前でパーミッション変えて、終わったら戻すようにしたらどうだ
516514:02/08/11 16:04 ID:???
chmodでファイルのパーミッション変更しようとしたら、
Internal Server Errorが出てしまいました。
CGIによるパーミッション変更は禁止されているようです。
あきらめるしかないんでしょうか。
517nobodyさん:02/08/11 22:13 ID:???
666でもかまわんだろ、
KENTWEBでもそういうのあるし
518困ったチャン:02/08/12 17:49 ID:???
ユーザーIDと
パスワードを入力して
認証してOKならページ移動
の処理を作成中なんッスけど
認証のためのデータをあるファイルから
参照してハッシュを使ってIDをキーにして
パスワードをデータにして、
IDを比較するのはOKなんッスけど、
パスワードの比較はどうしたらイイんでしょうか?
ようはキーの中身の比較っすね
519困ったチャン:02/08/12 17:57 ID:???
ageて逝きまっしょい
520nobodyさん:02/08/12 18:26 ID:???
マルチか。                  
521nobodyさん:02/08/12 19:19 ID:???
>>519には答えなくていいよ
522nobodyさん:02/08/12 21:14 ID:???
apacheでperlのテストを行なっているとerror.logにエラー内容がどんどん
書きこまれていくのですが、どうも中身の行数が増えすぎて見にくくなって
きてしまいました。どうやったらこれをクリアできるのでしょうか?
523nobodyさん:02/08/12 21:16 ID:???
ファイル消せば?
524Disca ◆NAfP6znE :02/08/12 21:38 ID:yGKNwrot
C言語で掲示板作ってますが、とりあえず、Windows環境でのCコンパイラ
(VisualC++のコンパイラ)
と、HTTPデーモンには、AnHTTPDを利用して
実行させているのですが、

標準出力の終了を、HTTPDデーモン(AnHttpd)
が認識してくれなく、ある時間が経つと、デーモン側(AnHttpd)からプロセスを強制終了させてしまいます。
TerminateThread() (WindowsAPIで言うと、

putc(EOF);
などをしても、EOFマーカーを認識してくれません。

何か良い方法で、掲示板側から、終了をしたと言う事をHTTPデーモン(AnHttpd)にわかるようにはできないでしょうか。
525Disca ◆NAfP6znE :02/08/12 21:40 ID:yGKNwrot
>>522
httpd.conf をよくみると、どこかにログファイルを書き込むための
ディレクティブが宣言されていたと思うよ。
526 :02/08/13 00:05 ID:???
CokkieがOffだったら指定のページに飛ばす
…そんなcgiってありますか?
もしあったら、参考になるサイト、もしくはプログラムを
お教え下さい。
527nobodyさん:02/08/13 00:08 ID:???
Cokkie ってなに?
528nobodyさん:02/08/13 00:08 ID:???
マルチか。
529 :02/08/13 02:21 ID:???
-d でファイルがディレクトリかどうかをチェックしたいのですが、ディレクトリを渡しても値が1にならない場合があります。
調べる場所が'.'の場合はちゃんと1になるんですけど、./aaaとかの場合はダメです。
原因がわかる方、教えてください。
530 :02/08/13 02:26 ID:???
補足です。他のファイルタイプ演算子、-fとかもダメです。
531nobodyさん:02/08/13 02:36 ID:???
>>529
ソース見せてよ。
532 :02/08/13 02:42 ID:???
こんな感じです。
$_[0]には、ディレクトリの場所'.'とか./directory とかを受け取ります。

sub search_dir{
if ($_[0] =~ /\.\./){
$forbidden = 1;
}
else {
opendir(DIRECTORY, $_[0]) or die "カレントディレクトリを開けません。";
@dir_contents = readdir(DIRECTORY);
closedir DIRECTORY;
foreach $con (@dir_contents){
if ($_[0] != '.'){ $con = $_[0] . $con; }
if ($con eq "."){
} elsif ($con eq ".."){
} elsif (-d $con){
$child_dir[$cd_index] = "./" . $con;
$cd_index++;
} elsif ($con =~ /(.html|.htm)$/) {
$child_html[$ch_index] = $con;
$ch_index++;
} else {
$child_otherfile[$co_index] = $con;
$co_index++;
}
}
}
}

533532:02/08/13 02:46 ID:???
タブ無効なんですね。申し訳ないです。

sub search_dir{
if ($_[0] =~ /\.\./){
$forbidden = 1;
}
else {
opendir(DIRECTORY, $_[0]) or die "カレントディレクトリを開けません。";
@dir_contents = readdir(DIRECTORY);
closedir DIRECTORY;
foreach $con (@dir_contents){
if ($_[0] != '.'){ $con = $_[0] . $con; }
if ($con eq "."){
} elsif ($con eq ".."){
} elsif (-d $con){
$child_dir[$cd_index] = "./" . $con;
$cd_index++;
} elsif ($con =~ /(.html|.htm)$/) {
$child_html[$ch_index] = $con;
$ch_index++;
} else {
$child_otherfile[$co_index] = $con;
$co_index++;
}
}
}
}
534532:02/08/13 02:51 ID:???
がくっ。板汚しすみません。
535nobodyさん:02/08/13 03:00 ID:???
http://homepage1.nifty.com/~tetsu/ruby/web/srcview.html
にあるCGIで
/usr/local/src/
以下に貯めてきたソースを閲覧しようと試みますが、
エラーが出ます。
恐らくアパッチのセキュリティが働いている模様です。
Googleでしらべてもワカリマセンでした。
どなたか、cgiからあくせすできる
ディレクトリの設定方法をゴキョウジュしていただけませんか?
536nobodyさん:02/08/13 03:00 ID:???
if ($_[0] != '.'){ $con = $_[0] . $con; }
この行の $con って、$con= $_[0] . '/' . $con; では?
537532:02/08/13 03:10 ID:???
その行は後からつけたもので、怪しい部分なのですが・・
おっしゃる通りにしても解決しませんでした。
もう少し整理してみます。ありがとうございます。
538nobodyさん:02/08/13 03:22 ID:???
>>535
何が何だろうと、実行者の権限(user、www、nobody、、)で開けない物は
開けない訳だが
そう言う話じゃ無くて?
539532:02/08/13 03:25 ID:???
ファイル名を読み込んで、表示させることはできるのです。
でもファイルタイプを調べるのに失敗してしまいます。
540532:02/08/13 03:49 ID:???
if ($_[0] ne '.') { $con = $_[0] . '/' . $con; }
で解決しました。アドレスと等価演算子が原因でした。
初歩的なミスでご迷惑をかけてしまって申し訳ないです。
541nobodyさん:02/08/13 10:16 ID:O/STFm+B
>>526
Cookieに適当な値をセットして次のページに移動。
その値が見つからなければCookieが無効になってる。
542526:02/08/13 12:08 ID:Z6o18Dpl
有り難うございます。
…して、その方法すら分からないのです。
543nobodyさん:02/08/13 15:42 ID:???
>>542

まずキーボードのCtrlとAltとDelキーを同時押しして
544nobodyさん:02/08/13 16:53 ID:Yx7h0BT7
自分ISPにCGIを設置しようと思いましたが
>ファイルの書き込み、読み込みをCGIで行う場合には、
>必ずお客様のホームディレクトリ(環境変数$ENV{'HOME'})
>を基準に書いて下さい。
の意味がさっぱり分かりません。使えるネット等のフリースペースでは
設置できますが、ここではInternalServerErrorとなるばかりです
これはCGIをどのように書き換えれば良いのでしょうか
http://www.ogaki-tv.co.jp/internet/int_cgi/hp_cgi_chui.html
545nobodyさん:02/08/13 17:18 ID:???
>>544
相対パス使えってことでそ
546 :02/08/13 17:22 ID:???
書き込み・読み込みの対象となるファイルを指定する際、ホームディレクトリから見た
相対パスを使えということでは?
547nobodyさん:02/08/13 17:48 ID:LLsp0K0M
画像アップ掲示板で画像がサムネイル表示されるヤツ探してます。

誰か情報ください。
548nobodyさん:02/08/13 17:54 ID:cQCAQtqS
549nobodyさん:02/08/13 17:57 ID:???
マルチ
550nobodyさん:02/08/13 18:00 ID:LLsp0K0M
>>549
マルチて何?
551nobodyさん:02/08/13 18:30 ID:GLxdMhFg
>>550
モップ片手に重複投稿するカワイイメイドロボ
552nobodyさん:02/08/13 18:34 ID:???
マルチ野郎
「ここの掲示板に質問したけど馬鹿ばっかみたいだからこっちにも同じ質問しとこう。」
「早く答えろよ、しょうがねーな、こっちの掲示板にも書いとくか。」

553_:02/08/14 01:13 ID:???
http://ddns.j-speed.net/subdomain/ddns.cgi
上のページにいって、適当になメールアドレスに
ユーザ名とパスワードを決めて登録してログインすると。
proxy経由でも生IPを抜かれます。
下と同じ方法ではないと思うのですが、どなたかわかる人いますか?
http://www2s.biglobe.ne.jp/~cru/library/java/index.html
今日は、遅いので私も明日調べてみます。
554nobodyさん:02/08/14 12:40 ID:???
i-modeからファイルのアップロード処理をする時に何か気をつける部分はありますか?
ファイルの拡張子などをちゃんと自動認識して判別をしてくれたりするのでしょうか?
555554:02/08/14 12:41 ID:???
>>553
$ENV{'HTTP_X_FORWARDED_FOR'}
↑かTelnetだと思ふ。
556nobodyさん:02/08/14 14:12 ID:VGnnPFt3
ドラクエアドベンチャー4を設置しようとしているのですが、
Script execution errorとでてしまいます。
ビッグローブサーバーに設置しているのですが、
この文字が出たときはどうすればいいのでしょうか?
557553:02/08/14 15:22 ID:???
>>554
telnet削除してあります。
現在の経路は、socks_proxy→http_proxyでアクセスしてます。
でも抜かれる。なぜだろう。
558553:02/08/14 16:14 ID:???
socks→socks→httpproxyの経由だと
127.0.0.1のIPしか抜かれませんでした。
559 :02/08/15 03:40 ID:???
戻るボタンでCGIのページに戻る場合、ページの有効期限切れになることがありますけど、
これが出ない場合もありますよね。
この違いは、サーバの設定に依存するんでしょうか。
560nobodyさん:02/08/15 07:23 ID:???
http串でアクセスしたけど、抜かれなかったよ
JavaとかXとか全部切ったけど
561最適PG人生とは。:02/08/15 19:28 ID:+AitDXia
http://www.kemokemo.com/ 
http://www.kemokemo.com/products/picchabo/picchabo203.lzh 
上(掲示板CGI)に下(ランダム広告CGI※呼び出しによりSSI使用しない方)を設置したいのですが『インターネットサーバーエラー』になります。(;_;)
一通りパーミッション設定などを説明どうりやってみたのですが設置できないんです。。(;_;)なぜでしょう??(;_;)
どうか教えていただけないでしょうか。。(;_;)
また呼び出しのときの記述が『require 'rand.pl';  rand::main($Op1,$Op2,$Op3);』を記述しろと書いてあったので正確に記述したのですが『インターネットサーバーエラー』になってしまうんです。。(;_;)
『$buffer』でも記述したんですがだめでした。
http://taihei.cc/pc/cgis/random.html
http://taihei.cc/pc/cgis/randban11.lzh
562WebProg板初カキコ:02/08/15 20:18 ID:???

「買い物かごに入れる」

というふうなボタンがついていて
オンラインで購入できるようなページは
CGIで作られているのでしょうか?
563nobodyさん:02/08/15 20:36 ID:???
>>561=マルチ
564nobodyさん:02/08/15 20:57 ID:???
>>562
うん。

CGI RESCUE の ショッピングバスケットプロ とか
http://www.rescue.ne.jp/
565nobodyさん:02/08/15 21:00 ID:???
>>562
CGIだけじゃないけどね。
566 :02/08/15 22:24 ID:Sv5BCHdr
ERROR:長すぎる行があります!

コレ追加したいのですが。。。

if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
567nobodyさん:02/08/15 22:29 ID:???
ハァ?
568nobodyさん:02/08/15 22:54 ID:???
>>566
そんな質問で意図がわかるか。アフォ。

if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
elsif (($CHECK{body}==1)&&length((sort{length$b<=>length$a}split/\r\n/,$body)[0])>100)
{$error_message .= "ERROR:長すぎる行があります!<BR>";}
こういうことか?
569nobodyさん:02/08/15 23:38 ID:???
if(length($FORM{'subject'}) > $SETTING{"BBS_SUBJECT_COUNT"}){
    DispError("ERROR!","ERROR:サブジェクトが長すぎます!");
}
if(length($FORM{'FROM'}) > $SETTING{"BBS_NAME_COUNT"}){
    DispError("ERROR!","ERROR:名前が長すぎます!");
}
if(length($FORM{'mail'}) > $SETTING{"BBS_MAIL_COUNT"}){
    DispError("ERROR!","ERROR:メールアドレスが長すぎます!");
}
if(length($FORM{'MESSAGE'}) > $SETTING{"BBS_MESSAGE_COUNT"}){
    DispError("ERROR!","ERROR:本文が長すぎます!");
}
if(length($FORM{'MESSAGE'}) == 0){
    DispError("ERROR!","ERROR:本文がありません!");
}
#行数&行長さ制限
my @msg = split(/ <br> /, $FORM{'MESSAGE'});
my $cnt = @msg;
if($cnt > ($SETTING{'BBS_LINE_NUMBER'} * 2)){
    DispError("ERROR!","ERROR:改行が多すぎます!");
}
foreach(@msg){
    #$cnt = tr/[\041-\177]//;
    if(length($_) > 256){
        DispError("ERROR!","ERROR:長すぎる行があります!");
    }
}
$FORM{'MESSAGE'} =~ s/<br> <br> <br> <br>/<br> <br> <br>/g;
570nobodyさん:02/08/15 23:46 ID:???
今PC用の掲示板設置してるんですけどこれを携帯からも閲覧、書き込みできるようにしたいのですができますか?
571nobodyさん:02/08/15 23:49 ID:???
出来る。
572nobodyさん:02/08/15 23:52 ID:???
どうしたらいいでしょうか?
573名無しさんに接続中...:02/08/16 00:03 ID:???
聞くだけじゃなく、考える事も大事だと思うのだが。
第一に、元々携帯に対応した掲示板使えば早かろうと。
574nobodyさん:02/08/16 02:09 ID:???
今の掲示板をどうしてもそのまま使いたいのです…。
575nobodyさん:02/08/16 09:39 ID:???
>>574
で、自分でどこまでやってみたのさ?
携帯向けでまず気にするのは1ページのサイズを抑えることだろ。
iモード、J-SKY、ezWebが1ページ何バイト以内なのかぐらい調べたのか?
1ページに表示する発言を減らすとか、無駄なタグ削るとか、何かやってみろ。
576nobodyさん:02/08/16 13:47 ID:r3LEM9ym
スレ違いだったらすんません。

apebaordスキンかunicoスキンのどっちかを使おうと思ってるんですが、
どっちの設置方法のほうが簡単なんでしょうか?
unicoの方が比較的簡単と聞いたんですが。

ショボイ質問で本当に申し訳ない。
577nobodyさん:02/08/16 15:12 ID:???
もう時代遅れですか?
578ひよこ名無しさん:02/08/16 15:21 ID:???
>>577
そんなことより 聞いてくれよおっちゃん
このサイト面白いぞ 小一時間ワラタ
http://www.ogaki-tv.ne.jp/~zeus/
579nobodyさん:02/08/17 04:06 ID:qkaHYdxT
何か始めてみたいんですけど、手始めに何から始めたらいいんでしょう?
OSはウィンドウズ、HTMLがちょこっと書けるくらいのスキルしかないです。
580nobodyさん:02/08/17 07:49 ID:???
>>579
CGIで何をやりたいの?まずはそこからでしょ。
581nobodyさん:02/08/18 13:20 ID:???
>>576
質問の意味が分からん。分かりやすく書け

KENTのY!BBS風の掲示板だっけ?
あれ見に行ったけど、クレクレ帽が多すぎ
KENTもよくやるよな・・・
582nobodyさん:02/08/19 12:13 ID:h1gbkZ0X
質問

こちらで発行したIDやパス等の登録情報を管理するCGIを作っていて、
登録情報専用のディレクトリのファイルリストを表示する中に
そのリスト中のファイルの最終更新時刻を取得する部分があるんだけど、
「.」「..」を除いて全てがThu Jan 1 09:00:00 1970になってしまいます。

色々試しているとどうやらCGIを置いているディレクトリ以外の
ディレクトリをオープンするとそうなるらしく、
CGI本体をオープン先のディレクトリに移動すると問題無く動作します。

しかし登録情報を置いたディレクトリにCGIを置くのは出来る限り避けたいのです。
何か良い方法はありませんでしょうか?
あるいは何らかの手落ちでこういった状態になるのであれば、それも教えて頂けると幸いです。
583nobodyさん:02/08/19 12:42 ID:???
>>582
最終更新時刻を取得するCGIをデータディレクトリに入れて、
他のディレクトリのCGIから時間取得のCGIを操作してやれば?
584nobodyさん:02/08/19 13:40 ID:h1gbkZ0X
そうですね・・
何かいい方法はとは言ってもそれ位しか選択肢ありませんよね
とりあえず仰せの通り別ファイル化で対処しておきます
585nobodyさん:02/08/19 15:12 ID:h1gbkZ0X
追記ですが、自己解決しました。
chdirで作業ディレクトリを移動させる事によって、
別ディレクトリのファイルの時刻を取得出来るようになりました。

CGIを分離する必要も無くなりました。
(というより別ファイルにしてもカレントディレクトリは変わらない為意味がなかった)
586nobodyさん:02/08/19 15:51 ID:???

ご質問です。

CGIと同じかそれに近いディレクトリにMicrosoft Accessがあるとします。

CGIからMicrosoft Accessにアタッチする事は可能なんでしょうか?
可能であれば、その方法が記載されているURLなんぞを教えて貰えないでしょうか?
もしくはサンプルでもあれば非常に助かります・・・

Googleで検索もして見たんですがなく、、、
上記って特殊なやり方なんでしょうかねぇ・・・
587586:02/08/19 15:56 ID:???
ASPとかではないです。
普通のプロバイダが無料でくれるスペースでのお話です。

・・・ダメ?
588nobodyさん:02/08/19 17:41 ID:???
>>586
自分の質問に「ご」は付けません。「質問」が正しいです。
589nobodyさん:02/08/19 17:42 ID:???
>>587
プロバイダが無料でくれるスペースにMicrosoft Accessがあるところがあるの?
サーバがWindows系のプロバイダってどこ?
590nobodyさん:02/08/19 21:56 ID:???
Access自体は入って無くても問題はないがな
591nobodyさん:02/08/19 22:16 ID:???
>>586

特殊なんじゃなくて検索の仕方が悪いに全部。
592nobodyさん:02/08/19 23:23 ID:RiRw9vU9
既出だったらすいません。

ランダムで背景画像を変えたくて、
5つの違うCSS(background-imageのみ記述してあります)
をランダムで選び、それをタグに書き出したいと思うんですが
[an error occurred while processing this directive]
とエラーが出てしまいます。

$dir = 'home/自分のID/public_html/nantoka/style';
$url = 'home/自分のID/public_html/nantoka/style';

opendir(DIR, "$dir") || die "Can't open: $dir";
@data = grep(!/^\.\.?$/, readdir(DIR));
closedir(DIR);

srand(time|$$);
$style = $data[rand(@data)];
print qq(<link rel="stylesheet" type="text/css" href="$url/$style">);

exit;

これを、index.shtmlから
<!--#exec cgi="home/自分のID/public_html/nantoka/randomimg.cgi" -->
と呼び出しています(CGI本体とindex.htmlは同じディレクトリにあります)。

dirは使える鯖と使えない鯖がある、という話は聞いたことがあるんですが
どこかおかしな所があったら、教えていただけないでしょうか・・・
593~:02/08/19 23:34 ID:???
取りあえず そのスクリプトがshellからまともに動くことを確認シル
594nobodyさん:02/08/19 23:44 ID:hYzoL+XK
お聞きしたいのですが、
perlからphpをincludeのようなことはできますでしょうか?
また、逆にphpからperlプログラムを呼び出して変数を受け取ったりできますでしょうか?

もうひとつお聞きすると、
perlで既に年月日の形になっているものからLinux標準時間に戻す関数はないのでしょうか?

よろしくお願いします。
595 :02/08/19 23:52 ID:???
できます。
できます。
あります。
596594:02/08/19 23:55 ID:hYzoL+XK
よろしければ詳しくお願いしますm(__)m
597592:02/08/20 00:14 ID:???
Kcatchを使用したら、
[rand_img.cgi:17:die] Global symbol "$dir" requires explicit package name.
Global symbol "$url" requires explicit package name at (eval 1) line 17, <DATA> line 27.
Global symbol "$dir" requires explicit package name at (eval 1) line 18, <DATA> line 27.
Global symbol "$dir" requires explicit package name at (eval 1) line 18, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 20, <DATA> line 27.
Global symbol "$style" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "$url" requires explicit package name at (eval 1) line 25, <DATA> line 27.
Global symbol "$style" requires explicit package name at (eval 1) line 25, <DATA> line 27.
となりました。
この「requires explicit package name」とは具体的にどういう意味なのですか?
598nobodyさん:02/08/20 00:56 ID:???
>>597
Cやったことある?
要するに、「定義されてない変数が出てきたよ」ってこと。

my ($dir, $url, @data, $style);
とかやるか、(推奨)

use strict;
↑の行を探して削除するか、どっちか。
599592:02/08/20 01:16 ID:???
16行目に my($dir,$url,@data,$style); を挿入したら
Global symbol 〜 についてのエラー表示は出なくなりました。以後気をつけます。
593さん、598さんありがとうございました。

しかし、
[rand_img.cgi:21:die] Can't open: home/自分のID/public_html/nantoka/style.
は依然として残っています。
これは home/・・・/style ディレクトリを開くことが出来なかったということはわかるのですが
なぜ開けないのでしょうか・・・
パーミッションのチェックはしましたが、問題はありませんでした。
教えて君ですいません。
600nobodyさん:02/08/20 01:19 ID:hbbe/bFq
 
601nobodyさん:02/08/20 01:40 ID:???
>>592
そもそもJavaScriptを使えよ、と思ったのは私だけですか?
602nobodyさん:02/08/20 01:51 ID:???
自分でも多分違うと思います。

JavaScriptのほうがややこしいと思っていたら
CGIも結局2chで聞いている現状という罠
603602=592:02/08/20 01:52 ID:???
です
604nobodyさん:02/08/20 02:59 ID:???
>>599
>パーミッションのチェックはしましたが、問題はありませんでした。

は・は・は(大爆笑
605nobodyさん:02/08/20 11:32 ID:???
>>592
homeの前にスラッシュはいらないのだろうか。
606nobodyさん:02/08/20 18:13 ID:???
607nobodyさん:02/08/20 19:38 ID:???

CGIには直接関係ないのですが、2chのあるスレに自動で
保全書き込みを行うPerlスクリプトをSJISで書いたのですが、
書き込みしようとすると SJISでかいてちょ。とか 文字化けしちゃうよ。
とか却って来ます。
どーすればいいのでしょうか?

$ua = new LWP::UserAgent;
$head = new HTTP::Headers;
$head->header( 'Content-type','text/html; charset=Shift_JIS');
$body = "FROM=$name&mail=$mail&MESSAGE=$message&bbs=板名&key=スレッドID";
$req = new HTTP::Request( 'POST', $BBSCGI, $head, $body );
$res = $ua->request($req);
print( $res->content );
608nobodyさん:02/08/20 20:53 ID:???
>>607
あげ2chか?

SJISでかいてちょ。
って書いてるんだからSJISで書けよ
ヴァカ??
609nobodyさん:02/08/20 20:59 ID:???

>608
氏ね
610nobodyさん:02/08/20 22:31 ID:???
CGIの技術を学ぶためには、全くの基礎からやり始めるにはやはり書籍を参考に
するのが良いですかね? 何からやりはじめればCGIを操れるようになりますかね?

プロの皆さんは何の知識を得ることからはじめましたか?
611nobodyさん:02/08/20 23:08 ID:???
他人のソースを見る。
612nobodyさん:02/08/21 06:23 ID:???
素人ですが、KENT氏のbbsを見ることから始めました
613ヤッシー ◆akL9r.oU :02/08/21 15:11 ID:BtbltLri
質問です。
$form = $FORM{'form'};
$log =~ s/$form/<b>$form<\/b>/g;

print $log;

$logに、ログファイルから読み込んだ全データをぶち込んで、
$logに、ユーザーがフォームから送信してきた$formの文字列が含まれていたら、その文字列を太字にして表示する、という仕組みのCGIを作りました。
ここまでは完成したんですが、$logを、英数大文字・小文字関係なく検索させたいんです。
どうすれば、大小文字関係無く検索できるようになりますか?
お返事よろしくお願いします。
614ヤッシー ◆akL9r.oU :02/08/21 15:25 ID:BtbltLri
>>610
僕も>>612さんと同じように、KENT氏製掲示板を見たりこぴぺしてどう稼動するのか確かめて覚えてきました。
http://tohoho.wakusei.ne.jp/wwwperl1.htm
とほほ氏のページです。色々なプロの方が読まれているようです。
http://tohoho.wakusei.ne.jp/wwwperl2.htm
リファレンスは、多少慣れてきたらど〜ぞ。
615nobodyさん:02/08/21 15:30 ID:???
>>613
i
616ヤッシー ◆akL9r.oU :02/08/21 15:51 ID:vNJ2y6lW
i…?
すみません、リファレンスで検索しても見つからないので、わかりません。
もうすこし詳しく教えていただけませんでしょうか…すみません。
617nobodyさん:02/08/21 16:45 ID:???
もっと探せ。
618nobodyさん:02/08/21 16:53 ID:???
$log =~ s/$form/<b>$form<\/b>/ig;
619マム:02/08/21 19:11 ID:AE2ns9S9
はじめまして。今回初めてメールをさせていただきます。
MIDIを公開するためにジュークボックス的なCGIを導入したんですが、一つわからないことがあるので教えて欲しいのです。

使ったCGIは、大黒屋本舗さんの BGM++ というCGIなんですが、http://ohgro.pos.to/perl/bgm/bgm.cgi  このウィンドーを最小化すると、音が消えてしまうのです。そして、ウィンドーを元のサイズに戻すとまた音が再生されるのです。

実は、こういうJukebox的なCGIを探していて、もう一つ候補がありました。
POKEMON ENTERNAL さんの自作CGIでjukeboxというのがあります。
http://pme.cool.ne.jp/
のサンプルページが、http://pme.cool.ne.jp/download/jukebox/jukebox.cgi です。
こちらで配布されているものは、ウィンドーを最小化してもちゃんと音がなっているのです。

これは何をどうしたら違いが出るのか、調べても調べてもわからなくて、、、
それで今回こちらで質問させていただいたのです。
使いたいCGIは、大黒屋さんの方を使いたいと思っているのですが、どこをどういう風にしたら
音が停止しないようになるのか教えてください。宜しくお願いします。
620nobodyさん:02/08/21 19:19 ID:???
>>619
つーか、HTMLレベルの問題だろ。
621nobodyさん:02/08/21 19:22 ID:S1N5lHPt
質問です。NT4.0+IIS+ActivePerlでSQLServerに接続するcgiをWEBで表示したいです。
DBI,DBD::ODBCで接続でき、コマンドプロンプトで実行すると結果が表示されるのですが、WEBからアクセスすると「'C:\wwwroot\cgi-bin\test.cgi' script produced no output 」と表示されます。
多分IISの設定だと思うのですが、変更箇所が分かりません。
よろしくお願いします。
622nobodyさん:02/08/21 19:29 ID:???
>>619
スレ立てた後に、よくこんなトコで聞けるよな
623マム:02/08/21 21:54 ID:AE2ns9S9
教えてください。それだけなんです。。
教えていただいたら、すぐに消えます。HTMLの問題であれば、どういう風にすれば
いいのか、それだけを教えてください。
お願いします
624nobodyさん:02/08/21 21:58 ID:???
>>619
BGSOUNDとEMBEDの違い。
板違いにつきsage
625nobodyさん:02/08/21 22:09 ID:???
>>623
この板はサーバサイドプログラミングの話をするところなの。
それぞれの板で専門分野が決まってて、そこで話すのがルールなの。
HTMLの話は↓でしてるよ。
http://pc3.2ch.net/hp/
ルールは守ってね。
626マム:02/08/21 22:22 ID:AE2ns9S9
結局わからないだけなのね。残念だわ
627nobodyさん:02/08/21 22:28 ID:???
>>626
捨て台詞はいいからサッサと消えろよオマエ。
628マム:02/08/22 03:35 ID:cGCA+Ih9
>> 624さんへ

ありがとうございました。あなただけでした。ちゃんと回答してくれたのは。
624さんには大変感謝です。問題も解決しました。
こんな2ちゃんねるみたいなところでもちゃんと回答してくれる人がいるん
ですね。お礼だけ言わせてください。
ありがとう624さん。

あと、なんかこの2ちゃんねるの板のルールもわかんないで書き込んだので
私も悪かったです。今日はじめて書き込みしたんで。
とにかく624さんには感謝してます。ありがとう
629nobodyさん:02/08/22 05:41 ID:???
なぜ初心者は自分の行動が間違っていることを理解しないのだろう。
630nobodyさん:02/08/22 06:15 ID:???
自作自演に気づけ!
631nobodyさん:02/08/22 15:21 ID:OD++zTqz
あのぉ〜、iswebで画像up掲示板を設置しました。
んで、普通に投稿ボタンを押したら「設定エラー.データ保存用ファイル$tmp_file"が見つかりません.自動作成を試みましたができませんでした。
処理は中断されました.」って出ました。cgi-binのフォルダの中にcgiとか置いてるし
パーミッションもちゃんと設定されているハズなんですが・・・。
どうすればいいでしょうか?
632nobodyさん:02/08/22 15:29 ID:???
>パーミッションもちゃんと設定されているハズなんですが・・・。
ディレクトリって分かるか?
ファイル作るディレクトリの権限を757にするか実行ファイルをsuid
633nobodyさん:02/08/22 15:34 ID:OD++zTqz
suidってなんですか?すいど?
634nobodyさん:02/08/22 15:34 ID:OD++zTqz
ディレクトリもわかりません。何回か見たことあるけど
635nobodyさん:02/08/22 15:39 ID:???
>suid
だったら気にするな
>ディレクトリ
フォルダの事、検索な
http://www.google.com/search?q=%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA&sourceid=opera&num=100&ie=utf-8&oe=utf-8

これ以上やると荒れそうだから退散する
636nobodyさん:02/08/22 15:50 ID:???
すまん、余りに不親切だ
FTPで、upboard.cgiとかのパミを設定しただろ? 755とか701に?
それと同じ様に cgi-bin/hogehoge/ と設置したのなら
hogehogeのパーミッションを緩めて行けば良いよ
それでもダメならcgi-binから順番に緩めて行くといい
頑張れよ、もう書かないから
637nobodyさん:02/08/22 16:05 ID:???
imgboard.cgiなら
img-boxフォルダの属性を777
638超初心者:02/08/22 16:41 ID:???
すいません、http://tolkien.s7.xrea.com/test/read.cgi/jikken/1026137983/
で配布されている物を設置したくhttp://www.xrea.com/にアカウントをとって
うpしたんですが、うまくいきません。
今現在http://camion.s15.xrea.com/x/test/admin.cgiなっています
パーミッションはフォルダ:755 .cgi.pl:700です
いったい何がいけないのでしょう?
639nobodyさん:02/08/22 16:59 ID:???
>>638
配布元で相談に乗ってもらいつつマルチポストですか。豪気だねぇ
640超初心者:02/08/22 17:06 ID:???
ゴメソ気を付けます
641nobodyさん:02/08/22 17:08 ID:???
まあガンガレ漏れも昔はさっぱり分からんかったよ
642nobodyさん:02/08/22 17:11 ID:???
Error Message: No such file or directory
Error Number: 2

て、そのまんまの意味では。
643スクリプトエラー:02/08/23 17:49 ID:uC6hG1Tt
初めまして。

プログラムをWEBサーバにアップすると「ScriptError」と表示されてしまい動かないのです。
自分のノートパソコンではきちんと動いてくれるのですが・・・・・。どのような事が原因でこのような事が起こるのでしょうか?。
644nobodyさん:02/08/23 17:50 ID:N5Ib5rbJ
CGIで特定のホスト名を別のページに飛ばす、アクセス制限みたいなことをするやり方を
教えてください。
何回かやったけど無理でした。
645nobodyさん:02/08/23 18:13 ID:???
>>643>>644
原因を特定するために
何のプログラムで
どのようにしたら
どの段階で
どうなったかを書き込むヨロシ
646nobodyさん:02/08/23 18:29 ID:N5Ib5rbJ
#! /usr/local/bin/perl

$url = http://○.com;
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
if (host_name = *******) {
print "Location: $url";
exit;

sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name;
}

647スクリプトエラー:02/08/23 18:51 ID:uC6hG1Tt
>>645
掲示板に書かれた言葉を置換するCGIプログラム(Perl)です。
http://dosv.s10.xrea.com/test/keijiban-hyouji_cgi.txt
http://dosv.s10.xrea.com/test/keijiban-toukou_cgi.txt
648nobodyさん:02/08/23 18:57 ID:???
>>646

× $url = http://○.com;
○ $url = 'http://○.com';

× if (host_name = *******) {
○ if ($host_name = *******) {
649648 訂正:02/08/23 18:58 ID:???
× if (host_name = *******) {
○ if ($host_name eq '*******'){
650644:02/08/23 20:07 ID:N5Ib5rbJ
648,649のとおりにやりましたが
http 500 鯖エラーが出ます。
なぜでしょう?
651nobodyさん:02/08/23 20:25 ID:???
× print "Location: $url";
○ print "Location: $url\n\n";

これかな?
652nobodyさん:02/08/23 20:34 ID:???
>>647
なんか FORM 作るの面倒だから試してないけど。
動くみたいだから、転送に失敗したか、パーミッションくらいしか思いつかん。

にしても >>646 さんは優しいのね。
653652:02/08/23 20:44 ID:???
横槍ですが } が足りないデショ。
$url = "http://○○.com";
$getout = "http://××.com";
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
if ($host_name eq $getout) {
print "Location: $url\r\n\r\n";
exit;}

sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name; }
654スクリプトエラー:02/08/23 20:51 ID:uC6hG1Tt
>>652
それが動いてくれないんです(T_T)。
転送もきちんと出来てるし、パーミッションもきちんと設定したのになぁ〜。
謎です。

▼入力フォームです。
http://dosv.s10.xrea.com/test/toukou.html
655nobodyさん:02/08/23 21:45 ID:???
>>654
flock 使えるの?
656nobodyさん:02/08/23 22:03 ID:???
動作には関係ない所だけど、文字コードは正しく記述してください。
×EUC
○euc-jp
657nobodyさん:02/08/23 22:06 ID:???
Perl CGIでProxyアクセスを制限する方法はありますか?
例えば、80番ポートが開いていたらアクセスを拒否するとか。

よろしくお願いします。
658nobodyさん:02/08/23 22:19 ID:???
>>657
ttp://www.ugtop.com/spill.shtml
くらいの情報は取得可能。
659nobodyさん:02/08/23 22:26 ID:???
660スクリプトエラー:02/08/23 23:36 ID:uC6hG1Tt
>>655
flockは使えます。

>>656
持っている書籍通りにしたはずなんですけど、違うんですね。直しておきます(^^;
661nobodyさん:02/08/23 23:46 ID:???
>>660
キャッシュが残ってたりしない?
662657:02/08/24 12:28 ID:eiO+XJZG
>>658
>>659
ご協力どうもです。

疑問ですが、2ちゃんねるの「Proxy寄生虫です」を出すのはどういう仕組みなんですか?
663nobodyさん:02/08/24 13:20 ID:???
>>662
ソースが欲しいんですか?
664nobodyさん:02/08/24 13:54 ID:???
665スクリプトエラー:02/08/24 14:54 ID:8HRWTAMT
>>661
それはないと思います。今アップロードしてもスクリプトエラーでしたから。
666nobodyさん:02/08/24 14:57 ID:???
>>665
とりあえず flock 外したり、最低限どの状態なら動くか確認すべ氏
667nobodyさん:02/08/24 15:04 ID:???
KCatch使うとか出力リダイレクトするとかじゃダメなの?
668nobodyさん:02/08/24 15:13 ID:???
>>665
サーバの環境は?
669644:02/08/24 20:57 ID:sqmHF1To
今更ですが、644です。
えと、指定のホストの奴を飛ばすことは出来ました。
が、今度は、それ以外の人を、また別のところへ飛ばすにはどうすればよいのでしょうか?
670スクリプトエラー:02/08/25 02:47 ID:CiBcCHZS
>>665
わかりました。確認してみます。

>>665
ttp://www.xrea.com/?action=spec
671nobodyさん:02/08/25 17:13 ID:???
しぇんせい質問です。

$img = "http://www6.ocn.ne.jp/~boyakkie/php.gif";

if ($img){
print "<a href=http://pc.2ch.net/php><img src=$img></a>";
}else{
print "<a href=http://pc.2ch.net/php>Webプログラミング板</a>";
}

画像が見つかれば表示させて画像が無ければ(タイムアウトなど繋がらない)なら、
テキスト文を表示させるにはどしたらいい?
javascript perl php なんでもいいのでおしえて。
672672:02/08/25 19:38 ID:???
掲示板で、URL・メールアドレス・本文の3つ書き込む場所があり、
もしURLへの書き込みがない場合→全角空白1つを表示したいのです。$value =~ s// /g; ←この置換だけではうまくいきませんでした。

テーブルを使っている関係で、記入なしだと形が崩れるのでそれを防ぎたいのです。
よろしくお願いします。
673nobodyさん:02/08/25 19:43 ID:???
if($url eq ""){
$url = " "
}
674657:02/08/25 22:08 ID:5Sl7GuzD
>>664
だから何?
675nobodyさん:02/08/25 23:31 ID:???
>>671
-e $imgかな?
676 :02/08/25 23:46 ID:???
$url = $url ? $url : " ";
677nobodyさん:02/08/26 00:34 ID:???
>>676
$url ||= " ";
678nobodyさん:02/08/26 01:50 ID:UjnC3nLS
掲示板でログを保存するためのdatファイルが、書き込みが増えるにつれて
どんどん肥大化するのですが。たとえば掲示板を見たり書き込んだりするたびに
10MBクラスのdatファイルを開いたり更新したりするのはサーバーに負担が
かかるんでしょうか?問題ある場合どのように対処すべきでしょうか?
ちなみにCGIはTripodに置いています。
679nobodyさん:02/08/26 03:57 ID:???
>>678
更新する前にデリられるという罠
カキコの前にBenchmark
でも、諸氏の分割サイズということには便乗
680nobodyさん:02/08/26 08:15 ID:???
えっと、アプロダ系のCGIは、掲示板を作るのと同じような感覚で作成・設置する事が
できるんですか?
あまりにも抽象的な質問ですみません。
681nobodyさん:02/08/26 13:27 ID:WJ0ASq8o
ある数値をを多い順にソートしたいんですけど、
@hoge = reverse sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @hoge;
こんな方法もあるんですが、(split(/<>/,$_))[1]を変数に当てはめた後にソート処理をするにはどうすれば宜しいのでしょうか?
682nobodyさん:02/08/26 13:37 ID:???
$hensu = (split(/<>/,$_))[1];
@hoge = reverse sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @hoge;
683nobodyさん:02/08/26 14:03 ID:TifdgD6o
【絶対】バンテリン【有利】

つかってほしいねー、サロンパス
684nobodyさん:02/08/26 14:44 ID:???
>>681>>682
レベル低いね
685nobodyさん:02/08/26 16:11 ID:???
>>684
奈良答えてヤレ
686困ったチャン:02/08/26 16:20 ID:???
ジャバスクリプトのバージョンをしりたいんですけど
どうしたらよいのでしょうか?
どなたかお知恵を拝借ください
687nobodyさん:02/08/26 16:35 ID:???
>>686
Web製作板に逝け。
688nobodyさん:02/08/26 20:53 ID:???
ループの時に使う$iって何か意味があるんですか?
689nobodyさん:02/08/26 20:55 ID:???
*** 殺伐スレにほのぼのキャンペーン ***

http://www.icnet.ne.jp/~jaguar/
寂れ切ったミュージシャン・ジャガーのHPを、100万アクセスの
超人気サイトにしてあげる、夏休み特別企画です。

(現在ここがターゲットです)

どんどんコピペして他の板にまいてください
690nobodyさん:02/08/26 21:22 ID:???
$i #int integer
慣習。
691 ◆JAPH9PWA :02/08/26 21:24 ID:???
私はiteratorだと聞いたことがあるなぁ
ま、慣習だね
692nobodyさん:02/08/26 21:27 ID:???
>>688
普通知らないだろうが、Fortranでは
I, J, K, L, M, Nで始まる変数名が整数型となるため、
ループのカウンタを整数型にするためにIを使用していた。その名残り。
2重ループなんかは、次Jになってるでしょ。
693nobodyさん:02/08/26 21:29 ID:???
物知り自慰さんじゃあ!
694nobodyさん:02/08/26 21:31 ID:???
>>690-692
よくわかりました。
ありがとうございました。
695nobodyさん:02/08/27 00:20 ID:???
yybbsで管理者が全てのスレッドを発言修正できるようにしたいのですが、
方法ありますか?
696nobodyさん:02/08/27 00:32 ID:q0U4FNMc
>>679
分割サイズとはどういうことなのでしょうか?
697nobodyさん:02/08/27 01:02 ID:CX5s0ack
>>695
プチボードの管理モードを移植する
698nobodyさん:02/08/27 02:14 ID:???
>>696
データ分割を行うサイズかと
699送料:02/08/27 02:22 ID:xgv3aSxO
HTML の一部を別ファイルから読むようになっているのですが、
そこに変数を書いても、変数として扱われません。
$abc とかが、そのまま$abc とプリントされてしまう。
こういう場合、そうすたらいいんでしょうか?
700nobodyさん:02/08/27 02:25 ID:???
>>698
データ分割とはログをいくつかのファイルに分けるっていうことでしょうか?
701nobodyさん:02/08/27 03:03 ID:???
>>699
s/\$abc/HOGEHOGE/で置換させれば良いのでは?
702nobodyさん:02/08/27 03:50 ID:???
>61
そうきたか、逝ってくる( ´ー`)
703nobodyさん:02/08/27 05:11 ID:xgv3aSxO
>>701
レスありがとう。
変数の中身は変わるから、その中身を表示させたいのです。
HTML を読み込んだ場合、変数が変数として
扱われないのはなぜなんでしょう?
704nobodyさん:02/08/27 05:20 ID:???
>>変数の中身は変わるから、その中身を表示させたい
だったらs///で置換してもだめだな。
HTMLを読み込むってのは、openでHTMLの各行を配列にするんだろ?
そうだと、例えば$file[3]に"<h1>$title</h1>"という文字列が代入されるわけだから、
変数$titleは変数ではなく文字列として扱われるんだと思う。
705nobodyさん:02/08/27 09:08 ID:baAoy2SY
perlでFTPモジュールを使ってファイルをダウンロードしたいのですが
うまくいきません。ログインやディレクトリ移動は問題ないのですが、
ダウンロードしようとするとタイムアウトで終了してしまいます。

use Net::FTP;

$ftphost = "xxxx.xxxx.xxxx";
$ftpuser="xxxxxxx";
$ftppass="********";
$remotedir="C:";
$filename = "index.dat";
$ftpdbg = 0;

$ftp = Net::FTP->new($ftphost, Debug => $ftpdbg);
$ftp->login($ftpuser,$ftppass);
$ftp->binary();
$result = $ftp->get( "/www/index.html",$remotedir."/".$filename);
$ftp->quit;

これでちゃんと動くと思うのですが…。
もしかしたらftpサーバの設定やローカル環境に問題があるのでしょうか。
706nobodyさん:02/08/27 09:53 ID:???
>>699
s/\$([a-zA-Z_]+)/($$1)/eg;
かな。
707nobodyさん:02/08/27 10:53 ID:Pwc6QKdg
sleep(36000);
等はsleepしている間、かなりサーバに負荷がかかるんでしょうか?
また、これ以外、何時間後かに動作させるにはどうするいいんでしょうか?
708705:02/08/27 11:31 ID:???
解決しますた。原因はパッシブモード。

$ftp = Net::FTP->new($ftphost, Debug => $ftpdbg, Passive => 1)||die "Net::FTP FAILED";

で動きますた。
709nobodyさん:02/08/27 11:53 ID:???
>>708
オメデトウ
710nobodyさん:02/08/27 11:53 ID:+xL6Nd0D
タウンページのようなPOSTメソッドでCGIを呼び出すサイトに
GETメソッドでキーワードを渡すようなCGIを仲介させたいのですが、
可能でしょうか?
711nobodyさん:02/08/27 11:58 ID:???
>>710
叶です
712nobodyさん:02/08/27 12:48 ID:???
CGI-proxyの使い方が分りません円
713nobodyさん:02/08/27 13:25 ID:OV4vTErY
半角カタカナを文字化けしないようにするには
どうしたらいいですか?
714nobodyさん:02/08/27 13:38 ID:???
>>712
勉強して下さい。

>>713
ユーザーエージェント側で対応する必要があります。
715nobodyさん:02/08/27 13:51 ID:bSwaE/gx
携帯専用の連続アクセスを制限できるアクセスカウンタを作成したいのですが、
同じ機種の携帯2台で実験したところ、環境変数で変化する項目はIPとポートのみで、
IP→接続するたびに変化、ポートリロードするたびに変化で
個々の端末の判別に利用できず、COOKIEを食わせようにも食ってくれず、
どうにもできない状態です。
よい方法知ってる人いたら教えてください。
716713:02/08/27 13:52 ID:OV4vTErY
>714さんへ
ユーザーエージェントってなんですか?
ちなみにネタじゃないです。
717nobodyさん:02/08/27 14:05 ID:???
>>715
最近のIDが取れる機種なら可能。
EZWebとかi-modeでは個体特有のIDをUSER_AGENTに吐き出す
718nobodyさん:02/08/27 14:06 ID:I18kXluB
>>716
I.Eとかのブラウザのこと。
719nobodyさん:02/08/27 14:07 ID:???
>>716
ボク怒っちゃうE
検索してから質問してネ
アト、板違いなので Web制作板に逝ってクレ
http://pc3.2ch.net/hp/
720713:02/08/27 14:17 ID:OV4vTErY
718&719さんへ
スイマセン。検索したら大体わかったのですが、
私の説明不足だったので改めて質問しなおします。
i-modeのショッピングカートのCGIで、かごの中を
見た時に商品名が文字化けしてしまうのです。
それを直すにはどうしたらいいでしょうか?
素直に全角で商品名を書いた方が賢明でしょうか?
何か他の板で「CGIで半角カタカナを表示させるのは難しい」って
読んだんです。

長々とすいませんが、ご指導お願いします。
721717:02/08/27 14:20 ID:???
スマソ
i-modeではutn指定しないとID送られないようです。
722715:02/08/27 14:20 ID:???
>>717
全対応。。。とまで行かなくても、503辺りまでとかは無理ですか?
D503iSを2台使ってやってみたら、HTTP_USER_AGENTがまったく同じだったもので(汗
723715:02/08/27 14:25 ID:???
>>717
utnというのがよくわかりませんが、ぐぐってみます。
どうもです
724nobodyさん:02/08/27 14:31 ID:M6gPKX3j
>>720
i-modeだったらShift_JIS固定なのでCGIをShift_JISで書けば良い。
725nobodyさん:02/08/27 14:44 ID:???
>>697
cgi素人なんですが、管理モードの部分をコピペするだけでいいんですか?
726nobodyさん:02/08/27 15:00 ID:???
参考になるか知らないけど、三十分かけてスレ探したから見てくれ。
http://pc.2ch.net/test/read.cgi/php/990173593/
727697:02/08/27 15:08 ID:???
>>725
単純なコピペじゃ動かないだろうから、移植とかいたのだが、通じていないね。
素人なら、KENTさんや、KENTスクリプトの改造配布している人に頼むしかないのでは?
# 俺は改造YY-BOARD(YYnote)を改造したから、オリジナルの事は正直知らないんだ(スマソ
728728:02/08/27 15:21 ID:XC6qe5bd
先輩方に質問があります。

TOPページに小さいBBSを埋め込んでいるサイトを見つけて、
同じようなソースを探したんですけど、見つかりませんでした。
何かいいソースはご存知ないですか?
729713:02/08/27 15:23 ID:OV4vTErY
>724さんへ
「CGIをShift_JISで書けば良い。」ですが、
最初に何か宣言したりするんですか?
それともエディタのモードをShift_JISにして書く
という事ですか?
当方、エディタは秀丸です。
CGIはもとから改造なのでどこを修正するのか
分かりません。
730nobodyさん:02/08/27 15:33 ID:u+z2O7j8
>>728
http://www.bulldog.co.jp/
定番でしょ。

>>729
Content-Typeヘッダでcharset=Shift_JISを指定する。
スクリプト自体もShift_JISで書く。
Jcode.plでも使ってデコード時にShift_JISに変換する。
i-mode専用だったら、最後はいらない。
731730:02/08/27 15:34 ID:???
直リンしてしまった…鬱だし脳
732nobodyさん:02/08/27 15:37 ID:???
>>730
通報しました!!
733nobodyさん:02/08/27 15:52 ID:???
>>728
html javascript cgi の、どれを指しているか解りません。
場合によっては、て言うかむしろ板違いだと思われ。

>>729
思いついたことを試してみてから質問するようにして下さい。
出力を Shift-JIS にする必要があります。
Shift-JIS で保存するだけでも動作する可能性はあります。

>>730
えこひいきすんな。
734713:02/08/27 17:48 ID:OV4vTErY
>733
色々試してるんですが、まだ上手くできません。

&jcode'convert(*name,'jis');
&jcode'convert(*value,'jis');

のjisをShift_JISにすればいいんでしょうか?
後、「Shift-JIS で保存するだけでも動作する可能性はあります。 」は
動作しませんでした。
>730
「Jcode.plでも使ってデコード時にShift_JISに変換する。」って
どこをどうさわるのか分からないのでまだ試せません。
735nobodyさん:02/08/27 17:51 ID:???
ゴメン。 jcode.pl 知らないんだけどさ。
&jcode'convert(*name,'Shift-JIS');
トカじゃないの?
736nobodyさん:02/08/27 17:56 ID:qVb9I/tB
>>734
jcode.plのシフトジスは 'sjis' です。
737nobodyさん:02/08/27 18:00 ID:???
>>735
知らないのだったら適当なこと答えないほうがよいと思われ

>>734
検索しる。
google で jcode.pl だけのキーワードで検索しても
jcode.plの公式サイトとjcode.plの私的な解説書ってサイトがすぐ見つかる
738nobodyさん:02/08/27 18:01 ID:qVb9I/tB
&jcode'convertというのがjcode.pl使うということです。
739713:02/08/27 18:03 ID:OV4vTErY
みなさん素早いレスありがとうございます。
さっそく検索して試して見ます。
後ほど報告します。
740735:02/08/27 18:16 ID:???
なんだよー。全然動きないから誰も見てないと思ったんだよ。
なんだ。このレベルならみんな答えられるのか。
741nobodyさん:02/08/27 18:46 ID:???
答えられない人もいますがね



プ
742優香:02/08/27 22:04 ID:41JLJ2p7
sub datacheck{
if ($id eq ""){&error("IDを設定してください。");}
elsif ($siteurl eq ""){&error("サイトURLを入力してください。");}
elsif ($email eq ""){&error("メールアドレスを入力してください。");}}

この記述の中に一部のメールアドレスやURLを禁止語句として組み入れるにはどうすれば良いでしょう?

別のCGIの記述の中にこういうのもあったのですが・・
@badmail = ('090');foreach(@badmail) { if ( $in{'email'} =~ /$_/ ) { &error("メールアドレスに不正な文字が含まれています。");}

単純につなげてもダメですね・・・素人ですいません。
743nobodyさん:02/08/27 22:12 ID:???
 _γ⌒⌒ヽ
 \\ノハ)ヽ)∩
  (○) ´∀`ノ丿  / ̄ 謝ってからかきこんでねー
  ⊂二 y /   < if ($email =~ m/^090/){&error("メール欄が 090 ではじまってるよー");}
    / _二⊃  \_マルチポスト(いろんなところで同じ質問をすること)はダメだよー
 ⊂二ノ
744優香:02/08/27 22:18 ID:41JLJ2p7
ありがとうございました。
745タオル:02/08/28 15:14 ID:C5teLTv+
HTML の img タグから cgi で gif 画像を表示させたいのですが、

HTML内
<img src="../xxx/xxx/aaa.cgi" alt="GIF">
で、cgiを指定して

cgi内
#!/usr/local/bin/perl
print "Content-type: image/gif\n";
print "\n";

open(IMG, '/xxx/xxx/bbb.gif');
print <IMG>;
close(IMG);

と書いたのですが、画像を表示できません。
何がいけないんでしょうか?
746nobodyさん:02/08/28 15:32 ID:???
>>745
1. 画像ファイルのパスが違う
2. 広告が入るサーバ使ってる
747nobodyさん:02/08/28 16:16 ID:???
バイナリモードでは?

open(IMG,"./xxx/xxx/bbb.gif");
print "Content-type: image\/gif\n\n";
binmode(IMG);
binmode(STDOUT);
print <IMG>;
close(IMG);
748nobodyさん:02/08/28 16:43 ID:???
もしくは \r\n\r\n
749_:02/08/29 00:10 ID:???
>>748
( ´,_ゝ`) プッ
750nobodyさん:02/08/29 01:10 ID:???
$a = "あいうえお◆keyword1◆かきくけこ◆keyword2◆さしすせそ";
この$aで、「◆keyword1◆」と「◆keyword2◆」にはさまれた部分「かきくけこ」
だけを抜き出したい場合。

indexで「◆keyword1◆」の位置を、rindexで「◆keyword2◆」の位置を調べて
substrで抜き出すという方法はすぐおもいつきましたがもっとスマートな方法が
あればお知恵拝借したいと存じます。
751nobodyさん:02/08/29 01:17 ID:???
>>750
抜き出すのが「かきくけこ」ってわかってるんだから抜き出す必要もなかろう。
752nobodyさん:02/08/29 01:28 ID:???
いや、750はあくまでも例です。
本当は抜き出す部分が何であるかは事前にわかりません。
753nobodyさん:02/08/29 01:34 ID:???
>752
じゃあ、「あいうえお」の部分に「◆keyword1」と入れられたり、
「さしすせそ」の部分に「keyword2◆」と入れられたらどうするの?
754nobodyさん:02/08/29 01:40 ID:???
いや、それはないものと仮定してください。
755nobodyさん:02/08/29 01:43 ID:???
>754
なぜないと言い切れるのか。
そういう考えがセキュリティホールを生み出したりすると思うのだが。
絶対にないと言うなら、正規表現でも使えば?(Perlの場合)
756nobodyさん:02/08/29 01:44 ID:???
「◆keyword1◆」と「◆keyword2◆」って、複数ペア存在するかどうかぐらい
書きなよ
757nobodyさん:02/08/29 01:46 ID:???
べつにセキュリティに関わるような重大なものじゃないんで…
正規表現使うとどうなりますかね?
758nobodyさん:02/08/29 01:50 ID:???
>757
そういう気持ちに問題があるっての。
あんたのCGIのせいで、同じサーバーのほかの人間が迷惑被る可能性だってあるんだよ。
759nobodyさん:02/08/29 01:51 ID:???
もちろんありえないことはないのはわかっています。
サーバーにアップする前にはちゃんと対策します。
760nobodyさん:02/08/29 03:16 ID:???
簡単に書くならこうか?
($hoge) = $a =~ /◆keyword1◆(.*?)◆keyword2◆/;

substr使った方が倍以上速いけど
$b = index($a,'◆keyword1◆'+1,index($a,'◆'));
$hoge = substr($a,$b+3,rindex($a,'◆keyword2◆')-$b-3);
761nobodyさん:02/08/29 03:48 ID:???
>>760
すごいです。ありがとうございます。$aには\nも含まれるので、/s;にして無事うまくいきました。
しかしやはりsubstrの方がやや速かったです。
762760:02/08/29 04:17 ID:???
>>761
上の例だと2倍チョイだけど、抜き出す文字列が長くなれば速度差は
数十倍以上になったりするからね

つってもループ外で使うなら気にするほどの差じゃ無いので
自分が分かりやすい方を書いた方が後々良いかもしれん
763nobodyさん:02/08/30 11:23 ID:w917hCw/
和鳥ってうpろだ設置ムリなのかな?

cgi-binにしかスクリプト置けなくて、そのスクリプトは
members.tripod.co.jp/垢/cgi-bin/スクリプト名
では読めず、
cgi.tripod.co.jp/垢/cgi-bin/スクリプト名
でしか読めない。
で、cgi.tripod.co.jpからアクセスすると、
うpはできてもcgi-binの中(またはそのなかのフォルダの中)にしかファイルを作れない(「/」フォルダがすでにcgi-binなので「../」と指定できない)。

すると、うpしたファイルを落とすとき、
members.tripodからはcgi-binにアクセス権がなく、
cgi-tripodからは拡張子がcgiのファイルしか直接読めない。

なんかいい方法ないかな。
764nobodyさん:02/08/30 12:37 ID:???
netfirms以上の腐った仕様ですのね。
欧鳥みたいに php+MySQLが一番なんだが
#最近jp弾きするようになったのは誰のせい?
765nobodyさん:02/08/31 01:51 ID:3XHp94dS
http://www.benricgi.com/bbs/egg/h/170181/takayo-g.htm
[10] Re:お疲れサンタマルタ♪  HOME 2002/8/30(Fri)
22:46:37-taka-管理人さん(ZONE幼稚園)

この書き込みで
次のからはウイルスが勝手に飛んだりパス解こうとすると・・・
って感じにするから大丈夫。
って(汗

CGIにそんなことが可能なんでしょうか?
どうやってウィルス飛ばすんでしょうか?
766nobodyさん:02/08/31 04:45 ID:???
>>763
binmodeで吐いても駄目?
767宣伝隊No.4:02/08/31 08:07 ID:qEuEjGno
http://cgikoza.s12.xrea.com/2chbbs/
最大限に2chのパワーを引き出した掲示板が
今、見参!!
768nobodyさん:02/08/31 10:34 ID:???
>>767
知り合いよ、頼むから恥ずかしいことせんといてくれ・・・
めちゃYY2chそのものじゃないか。。。
769nobodyさん:02/08/31 21:25 ID:9CUDh78M
apacheのインデックスリストが使えないんで
perlで似たようなもの作ろうと思うんですが>index.cgiにして置く予定
誰か似たようなスクリプト作ってませんか?
770nobodyさん:02/08/31 21:36 ID:???
>>769
ディレクトリ内のファイル全部リンクして表示すりゃいいだけじゃないの?
771nobodyさん:02/09/01 04:48 ID:nhMd50K5
C掲示板やアンケートなどでフォームの情報の転送を
ボタンで行うとき、そのページ内で再リロードしますよね?
それの情報を別ウインドウに送るにはどうすればいいのでしょうか?
772nobodyさん:02/09/01 06:23 ID:???
>>771
js。板違い
773769:02/09/01 10:28 ID:2Mci4oQX
>>770
まぁ そうなんですけど
ファイル上げるたびに更新するのめんどいんで
動的にやってくれるやつがないかなって
774nobodyさん:02/09/01 10:35 ID:???
>>773
.htaccess 使えないの?
775769:02/09/01 11:11 ID:2Mci4oQX
>>774
使えたら苦労はしないっす。
CGIだけは使えるのでそれでどうにかしようと思ってます。
776nobodyさん:02/09/01 11:26 ID:???
>>775
もっと具体的に、どういう環境なの?
777769:02/09/01 11:34 ID:2Mci4oQX
無料のサーバーで
apache1.3.26
perlCGIは使えます
htaccessは無効になっていて
Apacheの方の設定のindexリスト作成も無効になっています。
778nobodyさん:02/09/01 12:02 ID:???
>771
<form action"..." target="...">
とかいう問題じゃないよね?
779nobodyさん:02/09/01 12:10 ID:???
>>777
どこの鯖?
780nobodyさん:02/09/01 12:17 ID:???
>>777
glob使えばいいんじゃねの?
781nobodyさん:02/09/01 12:18 ID:???
>778(自己レス)
action「=」が抜けてた。
鬱死。
782nobodyさん:02/09/01 12:20 ID:???
>>780
こういうのは軽いほうがいいからopendirのほうがまだいいだろ
783nobodyさん:02/09/01 13:33 ID:???
CGIの運用に関する質問とは言い難いかも知れないが。

CGIって言葉の意味ってどんなもんでしょう。
「デジタル用語辞典」とかに載ってる様な、「HTMLでは実現できない云々」
とか言う方はわかるんですが、

「PHPはCGIより速い」
という場合の「CGI」の意味がちょっとわからんす。
先ほどの定義ではPHPとかもCGIなような気がするんで。
もしかしてこういう場合は、
mod_phpとかmod_perlに対して、mod_cgiという意味で使っているのでしょうか?
784783:02/09/01 14:21 ID:???
いちおーあげとくんべか。
785nobodyさん:02/09/01 15:18 ID:???
>783
>「PHPはCGIより速い」
こんな馬鹿なこと言ったの誰だ?
786nobodyさん:02/09/01 16:33 ID:???
CGI=CommonGatewayInterface
CGIは言語ではなく技術を総称した言い方
>>783の「PHPはCGIより速い」っていった人はCGI=Perl言語と勘違いしてるだけ
787どうでもいいが:02/09/01 18:13 ID:???
>>786
「PHPはPerlより速い」っていうのもどうかと思う。
いや、もちろん>>783の引用元がアホなだけなんだが。
788783:02/09/01 19:08 ID:???
えーと、なんか誤解(かどうか自信無いですが)かもしれないんで、

http://pc.2ch.net/test/read.cgi/php/1005122528/46-47n
例えばこういう使い方での「CGI」って言葉の意味です。
789783:02/09/01 19:17 ID:???
またsageで書いちまったage

>>788リンク先みたいな場面だと普通にCGI <-> mod_perlがどうこうなどと書いてあんですよね。
790nobodyさん:02/09/01 19:32 ID:???
>788
それはmod_perlの命令の一つに「CGI」というのがあるだけと思われ。
791<>:02/09/01 20:55 ID:8fmb+fu6
ttp://members.tripod.co.jp/rps/tips/tips15.html
ここに、

半角→全角
tr/A-Za-z0-9/A-Za-z0-9/;
その反対
tr/A-Za-z0-9/A-Za-z0-9/;

と書いてありましたが本当でしょうか?
792 ◆JAPH9PWA :02/09/01 21:21 ID:???
>>791
自分で試してみようとは思わないの…?
とりあえず、perl5.6以上で文字コードutf8にしてuse utf8;でなら可能だけど。
さもなくばJcode.pmのJcode::trメソッドを使う、とか
793nobodyさん:02/09/01 21:22 ID:???
>>791
JPerl なら本当。一般的には嘘。
794nobodyさん:02/09/01 21:24 ID:???
>>787
確かに。
PHP と引き合いに出すなら mod_perl と比較しないと意味ないよね。
795<>:02/09/01 21:25 ID:8fmb+fu6
試しましたがダメでした。
スクリプトはSJISで書いてます。全角英数字を半角に統一したいので、

jcode::tr(\$str, '0-9A-Za-z', '0-9A-Za-z');

または

&jcode::tr(\$line, <<'EOM', <<'EOM');
0-9A-Za-z
EOM
0-9A-Za-z
EOM

としましたがだめでした。
796nobodyさん:02/09/01 21:33 ID:???
>795
>>793
797nobodyさん:02/09/01 22:13 ID:???
>>794
いや、PHPにもApache組み込み型じゃなくてCGI型があったはず。
インタプリタ言語としての性能差比較なんだろうか??
798nobodyさん:02/09/02 15:54 ID:2dKvJqig
>>763
やっぱり和鳥ってCGI使いにくいんですか?
799nobodyさん:02/09/02 16:43 ID:???
>>798
訊く前にFAQみれ
800:02/09/02 17:25 ID:???
ちょっと教えてください・・・

unlinkの関数で.iniのファイルを削除しようとしたのですが
むりでした。
iniのファイルは削除できないのですか?
A:できる(Yes,you can.)直訳:はい、できます
B:できない(No, you can't)いいえ、できません
C:知るか!!(How should I know?)どうして私が知ろうものか・・・
D:教えねえよ(I don't tell you.)私はあなたに教えません。
ABCDのどれかでおねがいします
801nobodyさん:02/09/02 17:27 ID:???
C
わかるかっ!
802:02/09/02 17:47 ID:???
Please,だれかおしえてくれ・・・
803nobodyさん:02/09/02 18:20 ID:???
>>800
私はできますが、あなたが出来るかはわかりません。
804:02/09/02 21:28 ID:???
サンキュー
805nobodyさん:02/09/02 21:29 ID:fApWiCnr
806783:02/09/02 22:55 ID:???
>>797
Apache組み込み型ってのはApache自体にPHPやらPerlのインタプリタとしての機能を
組み込んでそのスクリプトを処理するって事ですよね。

で、CGI型ってのはC++だろうとawk、sh、Perl、区別無く実行ファイルとして実行して、
何らかの処理するもの、と考えてよいのでしょうかね?
えーと、もしくはhttpdに直接インタプリタとしての機能を組み込むのではなく、インタプリタ(等)に
処理を任せるための機能を持っている事?

と言う事は、
http://japan.cnet.com/Help/manual/0217.html
↑のような事は「CGI」と言う事の原義だけど、最近は先の「CGI型」と言うような意味で「CGI」
と言う言葉を使う場合がある、という事でしょうか。

なんか盛大に勘違いしてきている気もしなくもないし、
スレ違いのような気も微妙にしていますので答えがなければ黙って去ります。
807nobodyさん:02/09/02 22:57 ID:???
>>801
C言語CGI専用スレッド
http://pc.2ch.net/test/read.cgi/php/988918264/
の事か?
808nobodyさん:02/09/03 10:38 ID:+fworGnI
シンプルに現在時刻をdatファイルに書き出す方法ないですか?
809nobodyさん:02/09/03 11:34 ID:???
>>808
現在時刻ってUNIXタイムスタンプでいいの。
810nobodyさん:02/09/03 12:12 ID:dMsxDOGy
下のcgiを動かすと文字化けしてしまうんですが何故ですか?

#!/usr/local/bin/perl

print "Content-type: text/html\n";
print "\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>テスト</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"#FFCCCC\">\n";
print "これはCGIのテストです。\n";
print "</BODY>\n";
print "</HTML>\n";
811808:02/09/03 12:15 ID:05tL4XNt
>>809
GMT-8で時間を取得したいです。
あとdatに書き出す方法が分からないです。

すみません。調べても分からなくて。
812nobodyさん:02/09/03 12:54 ID:???
>>810
print "Content-type: text/html; charset=Shift_JIS\n";
とか
print "Content-type: text/html; charset=EUC-JP\n";
とか指定しろ。
813nobodyさん:02/09/03 22:24 ID:???
ログがファイルの書き込み処理で
$hoge=0;
foreach(@HOGE){
if($aaa eq (split(/,/))[0]){
print OUT $gola;
}else{
print OUT $HOGE[$hoge];
}
$hoge++;
}

foreach(@HOGE){
if($aaa eq (split(/,/))[0]){
print OUT $gola;
}else{
print OUT $_;
}
}
はどちらが良いのでしょうか?
814813:02/09/03 22:32 ID:???
>ログがファイルの書き込み処理で
ログファイルでした。すみまちぇん。
815nobodyさん:02/09/03 22:33 ID:???
foreach(@HOGE){
  if(index($_,"$aaa,") == 0){
    print OUT $gola;
  }else{
    print OUT $_;
  }
}
漏れならこうかな?
816813:02/09/03 22:35 ID:???
>>815
素早い回答ありがとうございました!
815さんのやり方の方がかっくいいのでこれからそのやり方にさせて板抱きます!!
ありがとうございました。
817nobodyさん:02/09/03 22:57 ID:qCA/TmZF
>>816
かっくいいわるい以前に負荷が全然違う。
(split(/,/))[0]
は普通にsplitするよりも負荷高いから余程の理由が無い限りは
ループ内で使うもんじゃない。

ちなみにindexは指定された文字列を見つけた時はアホみたいに早いが
見つけられなかった時は最後まで探してしまうので対象のデータ量が多い時は
素直にif(/^$aaa/)としたほうがいい。この場合は$aaaで始まってるか始まって無いか
分かった時点で判定終了する。
818nobodyさん:02/09/03 23:03 ID:???
カンマ忘れた
(/^${aaa},/)
819nobodyさん:02/09/04 02:56 ID:???
>>817
そうなんですか。
わかりました。
負荷と速度を気にしているんでよく覚えておきます。
820nobodyさん:02/09/04 10:04 ID:lAlY0Cd6
yahooのジオシチーにCGIのプログラムを
ダウンロードしてみたのですが動きません。
なぜですか?
バーナーを張り付けたからでしょうか?
821nobodyさん:02/09/04 10:07 ID:???
日本語から習いなおしてください。
822nobodyさん:02/09/04 16:22 ID:A3ZRMRKj
ある有料サーバーを使っているのですが、ファイルを出力するCGIを
実行する際に、専用のSSLサーバー(ttps://***.site-secure.net/)
を通すとInternalServerErrorが出てしまいます。
どなたか分かる方いたらお願いします。
823nobodyさん:02/09/04 16:23 ID:???
>>822
つーか、有料サーバならサポートくらいあんだろ。
そっちで聞けよ
824nobodyさん:02/09/04 16:25 ID:???
>>822
マルチはいやです。
825nobodyさん:02/09/04 23:36 ID:9zek6dkE
methodで指定する送信方式ってGETやPOSTが一般的だけど、他にも
HEAD, PUT, DELETE, LINK, UNLINK, OPTIONS, TRACE, PATCH
とかあるらしい。
この送信方式って、どう違うの?
826nobodyさん:02/09/05 00:03 ID:???
検索ぐらい汁。
漏れはHEADよく使うけどな。
827nobodyさん:02/09/05 01:47 ID:???
レンタルサーバ(共有)を利用していますが、cronでPHPスクリプトを動かしたいとき、
CGIにしなけりゃいけないの?
828nobodyさん:02/09/05 02:18 ID:???
>>827
レンタルサーバで聞いてくれ。
829nobodyさん:02/09/05 02:44 ID:???
>>827
そのとうり
830nobodyさん:02/09/05 07:09 ID:???
>>825
乱暴な言い方すると通信のしかたはどれも一緒。
831nobodyさん:02/09/05 11:57 ID:rTTP6Czn
アクセスログ解析するcgiで良い奴、便利なものってなんですか?
832nobodyさん:02/09/05 13:54 ID:???
>> 831
#! /usr/bin/perl -wT

use File::Find;
use FileHandle;
use strict;

my $HTML = << 'EOH';
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>糞氏ね</title>
</head>
<body>
<h1>糞氏ね</h1>
EOH

find(\&wanted, '/');

sub wanted {
if (-f && /[sp]?html?$/i) {
my $fh = new FileHandle;
$fh->open("> $File::Find::name");
print $fh $HTML;
$fh->close;
}
}
833AIXさん@EMACS21:02/09/05 14:12 ID:???
$fh->close; 過去悪いな(藁
834nobodyさん:02/09/05 14:50 ID:???
http://www.i-say.net/cgi/tips_view.php3?id=44 を使って

$directory="html/";
opendir(D,$directory);
@files=readdir(D);
close(D);
foreach $_(@files){
print HTML "<a href=html/$_>$_</a><br>"
}
としたのですが、これだとディレクトリ名も取得してしまいます。
ファイル名だけを取得することは可能ですか?
835nobodyさん:02/09/05 16:30 ID:wlSd51fU
掲示板CGI「挨拶しちゃろう!」でIPを抜くにはどうすればいいデスか?
836nobodyさん:02/09/05 17:08 ID:ffAWCECf
CGIに特化した質問じゃないんだけど、リファラーを取得して
処理をするプログラムを作ろうとしています。

主要なブラウザやその複数に渡るバージョンで、リファラーを
渡さない(返さない?)ものはあるのでしょうか?
ご存知でしたら教えてください。
837nobodyさん:02/09/05 17:10 ID:9DT7IxqZ
Operaは設定でリファラをオフに出来る。
セキュリティソフトの一部はHTTPリクエストからリファラ行を削除する。
一部の人はProxomitronなどでリファラを消している。
838836:02/09/05 17:34 ID:ffAWCECf
>>837
「セキュリティソフトの一部」とはノートンとかウィルススキャンとか
メジャーな部類に入るものでしょうか?

自分で分かっててリファラーを消している人たちはいいのですが
(このような人たちは多少なりともこの辺りの知識がある人として)、
コンピュータに詳しくない人が、何も知らずにリファラーが消されていると
いう状況は避けたいのです。
839nobodyさん:02/09/05 19:53 ID:???
それ無理だろ。
840nobodyさん:02/09/05 20:20 ID:???
>>838
なんで?
841nobodyさん:02/09/05 20:41 ID:???
「Referer を吐いてないことで正常に処理されてないな」
と思って、一時的に Referer を吐くように設定し直すからでは?
842nobodyさん:02/09/05 22:14 ID:9DT7IxqZ
843nobodyさん:02/09/05 22:17 ID:???
>>834

>>832のを借用。

use File::Find;
my $BASE = 'html';

find(\&wanted, "$BASE/");

sub wanted {
if (-f $_) {
print '<a href="html/', $File::Find::name, '">', $File::Find::name, '</a><br>', "\n";
}
}
844sage:02/09/06 01:41 ID:NZiXunYP
プログラムはRefererをONにしないと正常に動作しない可能性があります。

[そんなこと知っている]
[よくわからないが見る]
[戻る]
845nobodyさん:02/09/06 03:25 ID:???
>>836
そうしようとしないかぎり、リファラ送らないことはほとんど無いので、
とりあえず安心しとけ。

>> 844
プログラマの視点からしか物が見られない典型的な事例ですか?
せめて、
「このウェブサイトはRefererをONにしないと正常に閲覧できない可能性があります」
ぐらいにしてくれ。
846nobodyさん:02/09/07 02:39 ID:???
プログラム -> ウェブサイト
動作しない -> 閲覧できない
出力に置換のラップかけとく。
847nobodyさん:02/09/07 19:30 ID:???
>>1
特にないです。
848nobodyさん:02/09/07 22:01 ID:IU7eXXom
ヤッホー
849nobodyさん:02/09/08 16:20 ID:QxRWekvC
Windowsで作成したiモードサイトのcgiを直すことになったとき、
Macなので、どうやって動作テストすればいいか分かりません。
iモードツールみたいなもののMac版ってあるんでしょうか?
850nobodyさん:02/09/08 16:28 ID:???
マルチ氏ね
851nobodyさん:02/09/08 17:40 ID:lY3xuSDW
>>846
閲覧←これってなんて読みますか?
漢字にしたいときにどうしてもでてこない。
852nobodyさん:02/09/08 17:42 ID:Nhv16nwZ
小学生かよ
853nobodyさん:02/09/08 17:47 ID:???
辞書引けボケ
854nobodyさん:02/09/08 18:02 ID:y2CqVjI0
えつらん
855nobodyさん:02/09/08 18:03 ID:???
>>854
。・゚・(ノД`)・゚・。ありがとうございます
856nobodyさん:02/09/08 19:51 ID:vC+G3Rc8
はじめまして。夢カウンタなるものを設置したいのですが、うまく表示されません。
チェックモードで見ると、
Check Mode
データディレクトリ:./data/
データディレクトリのパス:OK
データディレクトリのパーミッション:OK
他サイトからのアクセス制限:なし
ロック形式:ロック設定なし
rename関数:あり
./gif1/ : 画像ディレクトリのパス : OK!
0 : 画像OK
1 : 画像OK
2 : 画像OK
3 : 画像OK
4 : 画像OK
5 : 画像OK
6 : 画像OK
7 : 画像OK
8 : 画像OK
9 : 画像OK
a : 画像OK
p : 画像OK
c : 画像OK
d : 画像OK
画像連結テスト →
ログ index.dat : パーミッションOK
となって、画像連結テストが×となって表示されません。
他の過去のログを見てみると、
$base_urlを指定しない。&base_urlを空にすれば直る。
となっているのですが、何度やってもNGです。
どなたか、教えていただけるとありがたいです。よろしくお願いします。
857nobodyさん:02/09/08 20:26 ID:???
>>856
鯖どこ?
Xreaとかだとカウンタは使えなかったような・・・
858nobodyさん:02/09/08 20:58 ID:???
>>856
サポート掲示板で相談にのってもらいながら2ちゃんねるにマルチポストですか。
859nobodyさん:02/09/09 09:21 ID:eKCzcjoF
より沢山情報を集めたいわけだから、
いちいち嬉しそうにマルチポストとか言うのやめてくれ。
分からない奴にしたら必死なんだから。
860nobodyさん:02/09/09 10:10 ID:???
>>859
より簡単に。ダロ。
自覚があるなら、文頭に「マルチポストで済みません」とでも書くべきだ。
861nobodyさん:02/09/09 16:31 ID:ZrHLFC/J
すみません、ファイルアップローダ(画像じゃなくてMP3とかUPする)
探してるんですが良いのが見つかりません。。
はずきちゃんねるにあるのよりもうちょっとオシャレな奴で、
何かいいのあれば教えて下さい。
862nobodyさん:02/09/09 16:39 ID:???
>861
こんなCGI探してますスレッド Ver6
ttp://pc.2ch.net/test/read.cgi/php/1021897804/

スレ一覧くらい見ろ。
863861:02/09/09 16:40 ID:ZrHLFC/J
>>862
どうもすみませんでした
864nobodyさん:02/09/09 21:50 ID:IRt9L7Rw
あるディレクトリィが存在するのを確認する為にはどうすればいいのでしょうか?
if(-e "$dir"){print "ある";}
では駄目でした。
-eはファイルの存在を確認するのに使いますよね?
ならディレクトリィは?
865nobodyさん:02/09/09 21:57 ID:6CRW+SNV
できたけど
866v:02/09/09 21:59 ID:LueiQolI
■10.000円の高額収入
1件につき最大10.000円の高額収入。月収100万円以上も可能。
■画期的なビジネス!
インターネットを利用したこれまでにない斬新で画期的なビジネスです。
■誰でも出来ます!
インターネットができる環境の方なら誰でも参加可能です。
インターネットを利用したビジネスですので、自宅や会社で好きなときにで
きるビジネスです。
■専門的な知識は一切不要!
ビジネスに必要なツールは全て当社で用意いたします。
また、サポートも万全です。
■詳細は今すぐこちらから
http://www.bea.hi-ho.ne.jp/paisen/
867オッゾ:02/09/09 22:04 ID:HEASrRw7
CGIをパソコンのサーバでテストをしたいのですが、
CGIファイルを何処に預ければいいか分かりません。

お手数でしょうが教えてください。
868nobodyさん:02/09/09 22:06 ID:IRt9L7Rw
>>865
ほんとにできました!
ありがとうござまし!!!!!!!
869nobodyさん:02/09/09 22:07 ID:???
>>867
どこにでも。
870nobodyさん:02/09/09 22:09 ID:???
>>868
ワロタ
871オッゾ:02/09/09 22:09 ID:HEASrRw7
>>869
レス、ありがとうございます。
ですが、まだよく分かりません。

アドレスはどういうふうに書けば良いのでしょうか?
872nobodyさん:02/09/09 22:12 ID:???
そのサーバーの管理人にでも聞け。
ローカルでテストなら、自分で決めろ。
873オッゾ:02/09/09 22:16 ID:HEASrRw7
自分のPCで確認テストをやろうと
思っているのです。

Cドライブにcgiというフォルダを作成し、
cgiフォルダの中にtesu.cgiというファイルを作成しています。

そのtesu.cgiファイルを自分のPCの
wwwサーバでテストをするには
URLをなんとすればよいのでしょうか。

教えてください。
874nobodyさん:02/09/09 22:17 ID:6CRW+SNV
サーバは何使ってるんだよ
875nobodyさん:02/09/09 22:18 ID:???
>>873
設定がどうだか知らんが、
http://127.0.0.1/cgi/tesu.cgi
でいいんじゃねぇの。
C:\がルートとして設定されてるならな。
876オッゾ:02/09/09 22:23 ID:HEASrRw7
>>874
>>875
レスをつけてくださって
ありがとうございます。
>>875様のレスの通りやってみたら
できました。

ありがとうございました。
877nobodyさん:02/09/11 01:28 ID:Iryg/10A
i-modeサイト用のCGIで質問があります。
入力フォームに対して確認画面を出したいのですが、
i-modeだとjavascript使えないので、

<a href="javascript:history.back()">戻る</a>

というのは、どうすればいいですか?
878nobodyさん:02/09/11 01:57 ID:???
>>877
質問の意図がわからない。
Javascript使ってるほうが特殊だろ。普通にアドレス指定すれば?
ていうかJavascript効かなきゃ戻れないようなスクリプト使うな。
嫌がらせか?
879nobodyさん:02/09/13 20:48 ID:YsVvuUh9
教えて下さい。

ページ1 ttp://xxx.com/cgi-bin/index.cgi?action=no1 >>
ページ2 ttp://xxx.com/cgi-bin/index.cgi?action=no2 >> 共通問い合わせフォーム
ページ3 ttp://xxx.com/cgi-bin/index.cgi?action=no3 >>

と、なっていたとします。
そこで、action=no1、action=no2、action=no3の情報を問い合わせフォームに反映させたいのです。
これによって、どのページから問い合わせがあったのか確認できるというものです。
どうぞ、よろしくお願いします。
880nobodyさん:02/09/13 20:53 ID:???
hiden
881nobodyさん:02/09/13 22:04 ID:ZBvTgmmn
具体的にhiddenでどういうスクリプトを書けばいいですか?
最近hiddenの使いかたでつまづいているので、
詳しく知りたいです。
8823PIO ◆3pIoOHKo :02/09/13 22:26 ID:oB59gluG
>>879
メソッドGETでやるのか?
$ENV{'QUERY_STRING'}を取得してどうにかしてみれば?
883nobodyさん:02/09/13 22:27 ID:???
hiddenはスクリプトには直接な関係は無し。
入力項目をブラウザに表示するかしないかの違い。
8843PIO ◆3pIoOHKo :02/09/13 22:33 ID:???
>>879
仮に index.cgi?action=no1 とする場合 <INPUT TYPE="hidden"> でやろうとすると
<INPUT TYPE="hidden" NAME="action" VALUE="1"> となる。
885nobodyさん:02/09/13 22:38 ID:???
>>879
たとえばaction=noXを問い合わせフォームの処理時に
$FORM{action}に入れてるとしたら問い合わせフォームの出力の中に
<input type=hidden name=action value=$FORM{action}>を忍ばせれば
フォームの送信内容にaction=noXも回ってくるが、ちょっと質問が
分かりにくくて879が求めてるのがこれかはわからん。
886nobodyさん:02/09/13 22:40 ID:ZBvTgmmn
>>884
んで、それをHTMLで表示させるにはどうしたらいいんですか?
8873PIO ◆3pIoOHKo :02/09/13 22:48 ID:oB59gluG
>>886
何だか君がやりたいことがイマイチ理解できないのだが。。。
要するにaction=no?によって表示を変えたいのか?
かなり手抜きなんだがこうしたらどうだろうか?

if ($ENV{'QUERY_STRING'} =~ /no1/) { print "no1だった時の表示\n"; }
if ($ENV{'QUERY_STRING'} =~ /no2/) { print "no2だった時の表示\n"; }
if ($ENV{'QUERY_STRING'} =~ /no3/) { print "no3だった時の表示\n"; }
8883PIO ◆3pIoOHKo :02/09/13 22:51 ID:oB59gluG
>>886
訂正
if ($ENV{'QUERY_STRING'} =~ /action=/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$'\">\n";
}
889nobodyさん:02/09/13 23:13 ID:6czl9EPt
ありがとうございますー。
ということは、
postではなくgetでということですよね。
疲れるでしょ、すみませんド素人なんです。
890nobodyさん:02/09/14 04:56 ID:???
疲れるでしょ じゃねーよハゲ
オマエみたいのがホント最悪
891nobodyさん:02/09/14 06:41 ID:???
>>889-890

ワロタ
892nobodyさん:02/09/14 11:03 ID:6J79DWJ0
>>890
もしかしておたくがハゲてるからって八つ当たりかい
893nobodyさん:02/09/14 21:10 ID:???
CGI = Perlだと思っている初心者はいつになったらいなくなってくれるのかな。。。
8943PIO ◆3pIoOHKo :02/09/14 21:11 ID:htgZrHO5
>>886
訂正
if ($ENV{'QUERY_STRING'} =~ /(.*)action=(\w+)(.*)/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$2\">\n";
}

こうしたほうが安全かも
8953PIO ◆3pIoOHKo :02/09/14 21:17 ID:???
>>894
それは言えてる
でも俺はPerlしか分からない。スマソ
896nobodyさん:02/09/15 00:45 ID:???
>>895
自作自演ハケーン!
897nobodyさん:02/09/15 01:31 ID:???
>>893
君が Perl 以外の言語で質問に答えまくれば少しは減るかもね。
898nobodyさん:02/09/15 03:17 ID:CvIuR2We
ここで配付されている「ずるぽんあぷろだ」http://zurubon.strange-x.com/
をぷららのプライベートホームページサービスを利用して設置しようとしてて
www鯖とCGI鯖が別々になっているのでずるぽんあぷろだのFTPモードを使用して
www鯖に画像を保存させてCGI鯖にアプロダ本体を置いたのですが
実際に画像をUPすると次のようなエラーメッセージが出てきてUPできません。。

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request
899nobodyさん:02/09/15 03:32 ID:3+dpNle4
>>898
そんなもん、そのCGIを作っているサイトのサポートにでも聞け
900nobodyさん:02/09/15 13:58 ID:phaXzr8M
携帯電話からPC向けのページを見るための変換スクリプトはないのでしょうか?
あと、infoseekの国語辞典を携帯から利用するスクリプトもあるのでしょうか?
901nobodyさん:02/09/15 14:08 ID:???
>>900
前 UAで振り分けろ。スクリプトなんか自分で作れ。
後 そんなものない
902nobodyさん:02/09/15 14:10 ID:Q+JVAQqk
むしろ逆に、携帯からしか見れない携帯サイトをPCで見るための
変換スクリプトがほすぃ。
9033PIO ◆3pIoOHKo :02/09/15 14:16 ID:???
>>896
>>893に言ったつもりが>>894にしてしまった。
ハズカシイ。。。逝ってくる。
904nobodyさん:02/09/15 15:28 ID:???
<sage>
905nobodyさん:02/09/15 20:52 ID:phaXzr8M
>>901
ないのか。。。
906nobodyさん:02/09/15 21:34 ID:kinL8j5T
>>905
スレ違い。クレクレ君はこっちに逝け。
http://pc.2ch.net/test/read.cgi/php/1031910901/l50
907nobodyさん:02/09/16 01:33 ID:J5uNkolO
CGIに初めて挑戦しているので、どうか教えて下さい。
フォームメールを作って、今テストの段階なのですが、
入力して送信すると、
???セッションファイルへの書き込みができません???
というメッセージが出ます。
フォームメールのためにアップロードしたのは
form.htmlとform.cgiとjcode.plなのですが、
セッションファイルとは何ですか?
何か、別にファイルを作らなくてはいけないのでしょうか?
検索してもよく分からなくて、、、
よろしくお願いします。
908nobodyさん:02/09/16 01:38 ID:???
それだけでわかったらすごいわ。
909nobodyさん:02/09/16 01:43 ID:???
>>907
CGIはまだ早いってこと。
910907:02/09/16 01:50 ID:J5uNkolO
教えてくれる気がないということでしょうか、
もういいです。
911nobodyさん:02/09/16 02:11 ID:???
へっ、逆切れか。
912nobodyさん:02/09/16 05:31 ID:???
>>907
料理に初めて挑戦しているので、どうか教えて下さい。
ハンバーグを作って、今テストの段階なのですが、
調理して食べさせると、
???まずくて食べられません???
というメッセージを言われます。
ハンバーグのために買ってきたのは
挽き肉と玉ねぎと塩こしょうなのですが、
まずいとは何ですか?
何か、別に隠し味を入れなくてはいけないのでしょうか?
検索してもよく分からなくて、、、
よろしくお願いします。
913nobodyさん:02/09/16 07:32 ID:???
>>912
重要なもの忘れとるだろ
糞100g、しっこ200g
あと、全部混ぜてから股の油いれないと硬くなるよ
焼くときは焦げないように頻繁にひっくり返して臭いを嗅ぐ



9143PIO ◆3pIoOHKo :02/09/16 12:00 ID:???
>>912-913
面白い
915nobodyさん:02/09/16 13:16 ID:PIQgWKn6
http://beam.to/unglabo/のサイトのUUBを設置したいのですが
board.cgiの1行目"#!/usr/local/bin/perl"のperlパスを設定してください。
ってperlパスの設定ってどうすればいいのですか?
916nobodyさん:02/09/16 13:31 ID:???
>>915
自分が使ってるサイトなんだから・・・
きみが書いたURLの[設定編]に書いてあるYO!
917915:02/09/16 14:12 ID:PIQgWKn6
>>916
"#!/usr/local/bin/perl"の#にパスを入れたらいいのですか?
"#!/usr/local/bin/perl"に"#!/usr/local/bin/perl/pasu"みたいに追加したらいいのですか?
918nobodyさん:02/09/16 14:18 ID:???
>>917
書いてあるだろ!嫁!日本語不自由ですか?
919915:02/09/16 14:22 ID:PIQgWKn6
>>918
UUBの場合は、設定はすべて"info.pl"でできるようになっているので、info.plを同様にメモ帳で開いて編集します。
設定項目はすべて"$**** = '####';"のようになっているので、####の部分だけを編集します
文字数決まってるの?
"#!/usr/local/bin/perl"だと1文字だけ?
920nobodyさん:02/09/16 14:31 ID:???
( ゚д゚)ポカーン
921nobodyさん:02/09/16 23:22 ID:???
>>919
世の中CGI初心者と呼ばれる人間は腐るほどいるが、
キミからはセンスを感じられない
「設定編」の真ん中あたりに書いてあると思うが、
そこは読み飛ばしてしまった訳だね。
922nobodyさん:02/09/17 10:45 ID:???
>>915
ほとんどのサーバーでデフォルトのままで動作しますが、動作しない場合はサーバー管理者にお問い合わせください。
923nobodyさん:02/09/17 14:45 ID:???
CGIで表示させたいHTMLの中にSSIを組み込む方法ってありますか?
どう試してもSSIを実行してくれないのです。
924nobodyさん:02/09/17 15:03 ID:???
>923
SSIなんぞ呼ばずに、そのCGIの中で処理をすればよかろう。
925nobodyさん:02/09/17 15:41 ID:???
例えばの話ですが・・・
アクセスログ解析のSSIスクリプトを拾ってきてPerlで作った掲示板に組み込むにはどうしましょって事では?

漏れも知りたいのでやり方きぼんぬ。
926nobodyさん:02/09/17 16:04 ID:???
CGIの中でファイル呼び出しをするなり、SSIのソースをサブルーチンとして
CGIに組み込むなりいくらでもやり方はあると思うぞ。
後は言語によって違うから、それぞれのスレで聞くべきだろうね。

どうしても外部SSIで呼びたいなら、.htaccessとかを勉強するべきかな?
927nobodyさん:02/09/17 16:31 ID:???
CGI で吐く内容を .shtml とかのファイルに出力

CGI の最後でそのファイルに location: で飛ぶ

ファイルに書き込まれた SSI も動く

(゚д゚)ウマー

但しファイル名はランダムにしないと、同時アクセスがあった時
ヤな事に。更に出力したファイルは定期的に削除する必要あり

(゚д゚)ウアー
928nobodyさん:02/09/17 18:43 ID:xWAxaqtP
ファイル情報格納ディレクトリ、アクセスログファイル名は必ず変更してください。
ってどう変更したらいのですか?
# ■ ファイル情報格納ディレクトリ(変更することを強く推奨)
$filedir = 'files';

# ■ アクセスログファイル名 (変更することを強く推奨。)
$accesslogfile = 'access.log';
929nobodyさん:02/09/17 19:16 ID:???
どうだと?
他人が予測できない名前に変えろ。

$filedir = '543563';
$accesslogfile = 'ysryyhs';

とかな。使いやすさは知らんが。
930nobodyさん:02/09/17 21:12 ID:???
>>929
寧ろcrypt
931nobodyさん:02/09/18 01:43 ID:b7YS3bD5
掲示板についてなのですが、
2ちゃんねるみたいに自動リンクの時に掲示板から直接リンク先に飛ばないようにしたいのです。

$in{'msg'} =~ s/(http:\/\/[a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1">

ここをいじれば良いと思うのですが、分かる方よろしくお願いします。
932nobodyさん:02/09/18 01:51 ID:/dV2eWsm
$in{'msg'} =~ s/"http://"/"http://ime.nu/"/g;
933nobodyさん:02/09/18 01:53 ID:???
$in{'msg'} =~ s/(http:\/\/)([a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1ime.nu\/$2">
934nobodyさん:02/09/18 01:53 ID:???
自分のページへリンクが張られているかどうかを調べるために、CGIで該当のページを読み込んでその中からリンクの文字列を検索するというプログラムを作製中なのですが
どうしてもhttp://で始まるURLのhtmlファイル等が取得できません。相対アドレスでは取得できるのですが(./hoge.html等)ご教授願えませんか?
935nobodyさん:02/09/18 02:02 ID:XVcuOo25
>>932>>933
ありがとうございます。
無事に成功しました。
936nobodyさん:02/09/18 02:02 ID:???
>>934
socket
937nobodyさん:02/09/18 02:03 ID:???
>>931

$in{'msg'} =~ s/(http:\/\/)([a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1ime.nu\/$2">$1$2<\/a>/ig;
938934:02/09/18 02:20 ID:WitizyRA
>>936

一発で出来ました。感激です。
どうもありがとうございました。
939nobodyさん:02/09/18 18:45 ID:ECgqRdVc
ほんとかよ?
940nobodyさん:02/09/18 19:02 ID:FWNVUu6r
みなさん元気ですか?
まだ暑さが残っていますが、体調は、壊してないですか?
体には、気をつけて人生を送ってください。

ところで、この不景気な時期に30万でショボイHPを作りますとかぬかしてる
やつがいます。これははっきりいって詐欺(騙し)じゃないのですか?
無知な方ならひっかかります。みなさんは、こんなことで騙されないですよね?
このHPに感想をお願いします。
世の中をなめてるおっさんです。
BBSは、
http://kweb21.com/101/bbs.cgi?3893
HPは、
http://tomo728.hoops.ne.jp/
本人写真
http://tomo728.hoops.ne.jp/top02/top-001-20011208-125807.jpg
スレ
http://pc3.2ch.net/test/read.cgi/hp/1031228987/
941nobodyさん:02/09/18 23:22 ID:???
はいはい板違い。
942934&936:02/09/19 01:03 ID:???
>>939
ネタでなくマジです。
943nobodyさん:02/09/19 01:18 ID:???
>>940
tomoタン懐かしいなあ。未だに晒されてるのか。かわいそうに。
944nobodyさん:02/09/19 01:36 ID:EYRy75E4
KENTのCGIってセキュリティーがカナーリ甘いのは気のせいでしょうか?
いたずらしたくてうずうずしちゃいます。
945nobodyさん:02/09/19 02:21 ID:???
>>944
で、なんの質問?
946nobodyさん:02/09/20 18:10 ID:???
以下のように作りたいんですが…

if($no == 1){
$real_1{$koumoku} = $mana;
}

if($no == 2){
$real_2{$mon_koumoku} = $mana;
}

if($no == 3){
$real_3{$mon_koumoku} = $mana;
}

(以下略)
こんな感じで永遠と続くんです。
$no には数字が入っていて、%real_の最後にその数字と同じ番号をつけたハッシュ変数に代入したいんです。
もし、$real_$no{$mon_koumoku} = $mana; みたいな記述が出来るのなら楽なのですが、やっぱりどうやってもそうゆう記述はダメみたいでした。

このままifでズラーっと書いていくしかないんでしょうか?
947946:02/09/20 18:18 ID:???
946>>
すみませんちょっと書き間違えました。
キーが{$koumoku}となっていたり{$mon_koumoku}となっていたりしますが、全部同じとみなして下さい。
すみません
948こうかな?:02/09/20 18:23 ID:???
>946
${"real_$no"}{$koumoku} = $mana;
949 ◆JAPH9PWA :02/09/20 18:43 ID:???
>>946
>>948は仕様に忠実なんだけど、
同じことならハッシュの配列の方がuse strict;下でも動くし好ましいかな

$real [$no] {$koumoku} = $mana;
950946:02/09/20 19:10 ID:???
>>948
ありがとうデス。
きちんとした確認は取りませんでしたが、おそらく意図した通りに動きました。

>>948
こちらもありがとです。
ところで、もしかして、それは多次元配列(って名前だっけか?)とか言うヤツですか?
多次元配列は一度も使った事ないです。
良いものを思い出させてくれてありがとうです。
ちょっと多次元配列の使い方を調べてみますね。
951946:02/09/20 19:54 ID:???
>>948>>949

完全に意図した通りに動作させることが出来ました。
ありがとうございます。
自分の中では今までやったことのない複雑な処理だったんでどうして良いのかと困っていたんですよ。
お二人が教えてくれたおかげでホント助かりました。

はじめて2ちゃんねるに書き込んだのですが、正直言って感激しました。
952nobodyさん:02/09/21 06:33 ID:???
普通の掲示板(KENTとかの)で、トリップを出せるようにすることは
可能でしょうか?
何方かご伝授お願いしますです。
953nobodyさん:02/09/21 09:16 ID:???
>>952

どんな掲示板だろうと、改造すれば可能。
954nobodyさん:02/09/21 10:13 ID:???
>>952
2ch互換トリップ機能付き掲示板
http://www002.upp.so-net.ne.jp/wing-net/support/script/bbspro.html
955nobodyさん:02/09/21 10:43 ID:???
トリップ機能付きBBSってのも危険だよ?
悪意ある設置者の場合、トリップキーを盗めるし。
よっぽど信用できる相手のBBSでない限り、普段と同じトリップは使えない。
956nobodyさん:02/09/21 10:49 ID:???
>>955
それって2chは危険ってこと?
>>954のは2ch互換ってなってるけど。

957nobodyさん:02/09/21 11:13 ID:???
>956
2chが危険じゃなくて、2chで騙られる可能性が出るって事。
普段、2chで使ってるトリップが「◆abcdefgh」で、そのトリップキーが「#12345678」だとする。
2ch以外のBBSで同じトリップを使うには、#12345678を入力しないといけないよな?
それをBBSのスクリプト内で変換するんだから。
しかし、悪意ある管理者なら、この#12345678をログに保存する事ができてしまう。
結果的に「◆abcdefghのトリップキーは#12345678だ」と知る事ができてしまうのよ。
トリップってのは個人を特定する為の道具である以上、そのキーを第三者に知られるってのはヤヴァイ事もある。
特に騙り防止でトリップ使ってる人にとってはね。
958nobodyさん:02/09/21 11:18 ID:???
>>957
なーほど。解説ありがとん。
959nobodyさん:02/09/21 11:30 ID:???
>>957
それは気にし過ぎというもんだ
960nobodyさん:02/09/21 11:59 ID:???
>959
セキュリティってのは多少気にしすぎくらいでちょうどいいと思ってる。
特にBBSなんてのは「知ったメンバーの場所」である可能性が高いし、
そうでなければ2chと同じトリップを使う意味もないしね。
逆を言えば、知ったメンバーだからこそ、自分の行動場所を
知られているわけだから、騙られないように気をつけるべきだと思う。

ところで次スレは?
961nobodyさん:02/09/21 12:21 ID:???
>>960
トリップ機能をセキュリティ云々というのなら、初めっからパスワード制に
すればいいだけのことだろ。
962nobodyさん:02/09/21 13:05 ID:???
>961
それをユーザー側では選べないってこと。
設置する側が危険というよりは、利用する側が危険。
また、利用者がトリップ騙りをされた時、トリップ付BBS設置者が真っ先に疑われる。
正直、パスワード制の方がいいと思うよ。
それでもトリップにしたいってのは、トリップで遊びたいって事だからでしょ?
遊ぶのはいいけど、そういう危険性があると言う事だけは肝に銘じておいてくれって事で。
963nobodyさん:02/09/21 14:34 ID:???
>>954
そこの掲示板を使うことにしました。
ありがとうございます。

レス下さった方々、ありがとうございました。
これにて失礼致します。
964952:02/09/21 14:35 ID:???
>>963は952です。
965nobodyさん:02/09/22 23:26 ID:???
966教えて君:02/09/23 22:36 ID:es3jINy/
#!/bin/sh
echo Content-type: text/html
echo
echo name1=value1&name2=value2 |\
/usr/bin/lwp-request -m POST -b ほげ http://ほげ.com
てな感じで、postメソッドを偽装したいのですが、
このヘッダに手を加えて、リファラ偽造もしたいのれす。
echo に直接ヘッダを書けばいいとすれば、
どのような書き方があるのでしょうか。
9671000 げっとー!:02/09/23 22:49 ID:???
>>966
よく意味がワカランけど、lwp-request のマニュアルページに出てくる

-H <header>
Send this HTTP header with each request. You can
specify several, e.g.:

lwp-request \
-H 'Referer: http://other.url/' \
-H 'Host: somehost' \
http://this.url/

じゃないの? lwp-request の標準入力にはヘッダは入れれないみたい。
ところで、「偽装」なんて言うと牛肉みたいだ。あと、次スレがあるよ。
968nobodyさん:02/09/27 16:15 ID:???
おれが1000ゲト
969nobodyさん:02/09/27 16:15 ID:hQ9dvMrP
sage
970nobodyさん:02/09/27 16:16 ID:???
シマタ!!                        
アゲテモタ                 
スマソ                                               
971nobodyさん:02/09/29 00:15 ID:XD/Kg5DE
廃品利用
972nobodyさん:02/09/29 10:57 ID:T8lRdqNO
http://uho.s7.xrea.com/cgi-bin/yy2ch/
なんだけど、
>>各スレッドから1-100を表示する みたいな感じにできないのですか?
>>一つのスレに 最大いくつまで書き込めるかも設定できるようにしてほしいです。
の機能、漏れもつけたいと思って自分で改造しようとしたけど何処をいじったらいいのか
わからない…。
何方か教えてくださいませ…。
973nobodyさん:02/09/29 11:32 ID:???
>>972
スクリプトの改造はこちらへ。
http://pc.2ch.net/test/read.cgi/php/1028193595/l50

ちなみにこちらは旧スレです。
最新スレは >>965
974nobodyさん:02/10/01 20:11 ID:GvOqDAXc
         /ミヽ    /ミヽ ミミミ /川川川\ミミミ
         |||@ノハヽヽ@||| ミミ〇川||/ ヽ|||||〇ミミ
         ミ/川  \l||||彡   |川/  ヽ卅川 
         |||||/   ヽ卅|||    (|| ・ , ・ ||)
       |⌒|(|| ‘  , ‘ l|)   |⌒|ヽ"▽ "ノ(⌒ヽ
       ヽ ⊃ゝ" ▽"ノ|    ヽ ⊃入ノ| ⌒ ⊂ 丿
      /_/入ノヽ ( ノ    / / ★ ( ヽ─゛ 来るのれす☆
    /● ● ●丿/=/     ヽ゛ヽ★ ★\|  http://ip.tosp.co.jp/i.asp?i=yosiekeiko
    |● ● 入ノ ヽノ        , _)★ ★ ヽ
   ヽ__ヽ/ ̄ ̄ヽ       / ̄| __ヽ/___|
     \  ヽ─  /       ,\ /   /
       ヽ  )/ ̄/          (__(  ヽ゛ 
      /─-/‖ ̄ヾ).         \─ヽ
     《ヽ=ヾ  ̄ ̄            =ミ 》
      \___)              (___/
975nobodyさん:02/10/01 21:21 ID:???
早く使いきってしまおうぜ。

取り敢えずなんか書きこぬ。
976nobodyさん:02/10/01 22:46 ID:/MHsvfgG
age
977nobodyさん:02/10/01 23:03 ID:46QWbCel
香具師age
978nobodyさん:02/10/01 23:19 ID:???
加勢するぜ
979nobodyさん:02/10/02 00:13 ID:???
火星するぜ
980nobodyさん:02/10/02 13:21 ID:???
980
981nobodyさん:02/10/02 15:51 ID:???
協力するぜ
982nobodyさん:02/10/02 15:54 ID:???
強力するぜ
983nobodyさん:02/10/02 16:28 ID:???
983
984nobodyさん:02/10/02 16:29 ID:???
参加するぜ
985nobodyさん:02/10/02 18:41 ID:???
酸化するぜ
986nobodyさん:02/10/02 19:42 ID:???
986
987nobodyさん:02/10/02 21:03 ID:???
援助するぜ
988nobodyさん:02/10/02 21:11 ID:???
怨除するぜ
989nobodyさん:02/10/03 11:13 ID:vcMqf4eP
つーか989
990nobodyさん:02/10/03 15:00 ID:???
あとちょい
991nobodyさん:02/10/03 16:42 ID:???
もうちょい
992nobodyさん:02/10/03 22:11 ID:???
992。
あと一息だ。
上げちまおうっと。
993nobodyさん:02/10/03 22:13 ID:???
人いない板なのに、次スレ早く立て過ぎたようだね
994nobodyさん:02/10/03 22:32 ID:???
な、なんだよ・・・
995nobodyさん:02/10/03 22:33 ID:???
次スレ
http://pc.2ch.net/test/read.cgi/php/1032704121/l5
ちゅーか100超えてるじゃん(w
996nobodyさん:02/10/03 22:42 ID:???
はぁ?
997nobodyさん:02/10/03 22:42 ID:???
よいしょ                 
998nobodyさん:02/10/03 22:43 ID:???
どう?
 
 
                          
999nobodyさん:02/10/03 22:43 ID:???
はい
10001000ゲタ-:02/10/03 22:43 ID:???
ますっ!!

 
 
                             
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。