462 :
nobodyさん :
02/08/07 23:53 ID:ndE0k5iF すみませんが質問です
http://hp.bird.to/info/countget.htmlのCGIで 連続でカウンタが回されないようになっているようですが
これはどのような仕組みで回らないようになっているんでしょうかねぇ?
自分で色々試した結果
cookieではないようです
ってことは相手のcgi側でアクセスログを取っているってことですよねぇ?
これを回避してカウンタを回すにはどうすればよろしいのでしょうか?
串刺してアクセスすれば回せますよねぇ?
前の数回のIPでも記憶しておいて、それと照合して合ったらカウントしない。
なんで変なの一杯来てるの?
466 :
462 :02/08/08 00:08 ID:kiQ1aKPI
>>463 レスありがとうございました
ってことはIP変えれば(串通せば)カウンタを回す事が出来るんですね?
生→串→生→串→、、、とローテーション組めばどんどん回る
ははは
469 :
質問 :02/08/08 01:28 ID:o/KxESaR
2ちゃんのリンク集を作っているのですが、ライブなスレッドと 過去ログに行ってHTML化されたスレッドはどのように判別すれば いいですか。ライブなスレッドは板が引越ししたら URLを変えないといけないが、すでにHTML化されたスレッド だったらURLを変えてしまうと見れなくなる。だからそのスレッドが ライブなのか、過去ログに行ってHTML化されているのか判別して、 ライブだったら板の移転に合わせてURLを変更し、HTML化されて いればURLをいじらずにそのままにするようにしなければならない。 その判別はどうやったらいいのか。
470 :
nobodyさん :02/08/08 01:30 ID:67DgjdRz
自分が手でやってる事をコードに書くだけ
471 :
462 :02/08/08 12:37 ID:kiQ1aKPI
>471 同じIPからだと1日1カウントしか収集しないんじゃないかな? だとしたら、10個カウンター回したいなら、10個のIPが必要。
473 :
462 :02/08/08 13:00 ID:kiQ1aKPI
>>472 >>467 のようにすると何回でも回せるみたいです
漏れは串持ってないので携帯を使ってます
実験ではPC→携帯電話→PCを繰り返すと回ります
でも携帯使うと通信料が一回12円かかります
どうしましょう…
ちょっと臭いな
475 :
462 :02/08/08 17:05 ID:kiQ1aKPI
>>472 やっぱり10回まわすなら10個のIP必要ですね
カウンタは
>>467 のようにすれば回りますが、
キリ番ゲットページで「あなたのカウント」は回ってないんですよ
どぉ〜しましょ
>475 そもそもなんで回したいのよ? 不正な方法でキリ番ゲットしたいの?
477 :
462 :02/08/08 17:31 ID:kiQ1aKPI
>>476 キリ番げっとするとプレゼントが貰えるんです
携帯電話でのアクセスでは
「あなたのカウント」が「未取得」になってしまいます
串を使っても、そうなってしまう可能性が出てきました
もうだめぽ……鬱
カエレ(・∀・)!!
479 :
. :02/08/08 18:11 ID:???
アホか。
┐('〜`;)┌ 臭いと思ったら
481 :
質問です :02/08/08 21:49 ID:o/Pn3LPJ
cgiでhtmlを書き出すときにSSIをprintするとそのまま <!--#include file="xx.html" --> って出てしまうのですが、 .htaccessのAddTypeに.htmlを加えるしかないのでしょうか? 他の解決方法を教えてください。 どなたか答えてくれるとうれしいです。よろしくおねがいします。
CGIでSSIをしてるの? 意味無い気がする。
次レスのスクリプトを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
484 :
483のスクリプトです :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でログインして貼り付けました。
前レス「間違ってるところはどこなのでしょうか? 」の間違いです。すみません。
CGIにはヘッダというものが必要です。 print '</NOFRAMES>'; print '</FRAMESET>'; これは何なの? キミはまだCGI以前にタグの学習が必要では?
> CGIにはヘッダというものが必要です。 そんなことはない。
>>485 どこに突っ込んでるの?
s/CGIには/CGIスクリプトの出力には/
ならOK?
488 :
K :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
$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>
>>489 ソースの一部だけ見せられても、$one_page とかにどんな値があるのかないのか
さえわからんだろ。
491 :
489 :02/08/09 12:22 ID:???
>>490 そう思ったので$max_articleと$one_pageの値に関しては後半に書いておきました。
>>491 だから、実際のソースに値があるのかないのかがわからんだろ。
493 :
489 :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)
494 :
489 :02/08/09 13:04 ID:???
自己解決しました。スレ汚しスミマセヌ(´・ω・`)
CGIファイルから処理の途中で 別のCGIファイルを呼び出す方法をおせーて? BY困ったチャン
追伸 すいませんけど Perlです BY困ったチャン
意味がわからん。 別のCGI内のサブルーチンでも使いたいのか?
#
>>495 #> おせーて?
#
#ここに疑問符が付くのは疑問な訳だが...
``
WEBで落とせるチャットCGIをいじってます。 ログに書き込み者のIPを記録し、そのままHTML出力に表示させたいのですが、 全部の行が同じIPになってしまいます。 (違うIPになると、全行のIPがそれになってしまう) $ad = $ENV{'REMOTE_ADDR'}; とCGIに記述して、 表示させたい部分に$adを埋めるだけじゃダメなんですか?
だめ。 それじゃ、見た人のIPにしかならない。 別ファイルに書き込んで、読み込むなりしないと。
501 :
499 :02/08/09 19:21 ID:???
>>500 ご助言ありがとう。
いま、DATに書き込み者のIPを記録するようにしました。
こんどはどうやって読ませようか悩んでます。
いい手本が手元にないんですよ。
>501 手元になければ探せ。 いくらでも転がってるぞ。
cgi内で、別のプロセスを起動させるとエラーになるんですけど........ system($cmd,$arg);を使う時はapacheに何か、設定を加える必要ありですか?
エラーの内容書け。
505 :
にすと :02/08/10 00:07 ID:k/CbtY7I
member.dat を外部から読み出してtopに表示。 SSIが使えない環境だと難しい。
>>488 IISの設定確認しろ。
ローカル環境で試してるのか?
そうでなければコンピュータへのユーザ権限がない。
その他ユーザ回りをしっかり確認しろ。
<form action="mailto:mailaddress"> でフォームを送信してもらったあと「送信しました」ページを表示させる方法を 教えてください。
何か間違えている可能性。
うん。
>>509 JavaScriptでできそう。
板違いなのでage
513 :
nobodyさん :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などに設定する必要がありますよね? これってなにか危険性あります?
ありすぎ。 書き換える直前でパーミッション変えて、終わったら戻すようにしたらどうだ
516 :
514 :02/08/11 16:04 ID:???
chmodでファイルのパーミッション変更しようとしたら、 Internal Server Errorが出てしまいました。 CGIによるパーミッション変更は禁止されているようです。 あきらめるしかないんでしょうか。
666でもかまわんだろ、 KENTWEBでもそういうのあるし
ユーザーIDと パスワードを入力して 認証してOKならページ移動 の処理を作成中なんッスけど 認証のためのデータをあるファイルから 参照してハッシュを使ってIDをキーにして パスワードをデータにして、 IDを比較するのはOKなんッスけど、 パスワードの比較はどうしたらイイんでしょうか? ようはキーの中身の比較っすね
ageて逝きまっしょい
マルチか。
apacheでperlのテストを行なっているとerror.logにエラー内容がどんどん 書きこまれていくのですが、どうも中身の行数が増えすぎて見にくくなって きてしまいました。どうやったらこれをクリアできるのでしょうか?
ファイル消せば?
524 :
Disca ◆NAfP6znE :02/08/12 21:38 ID:yGKNwrot
C言語で掲示板作ってますが、とりあえず、Windows環境でのCコンパイラ (VisualC++のコンパイラ) と、HTTPデーモンには、AnHTTPDを利用して 実行させているのですが、 標準出力の終了を、HTTPDデーモン(AnHttpd) が認識してくれなく、ある時間が経つと、デーモン側(AnHttpd)からプロセスを強制終了させてしまいます。 TerminateThread() (WindowsAPIで言うと、 putc(EOF); などをしても、EOFマーカーを認識してくれません。 何か良い方法で、掲示板側から、終了をしたと言う事をHTTPデーモン(AnHttpd)にわかるようにはできないでしょうか。
525 :
Disca ◆NAfP6znE :02/08/12 21:40 ID:yGKNwrot
>>522 httpd.conf をよくみると、どこかにログファイルを書き込むための
ディレクティブが宣言されていたと思うよ。
526 :
:02/08/13 00:05 ID:???
CokkieがOffだったら指定のページに飛ばす …そんなcgiってありますか? もしあったら、参考になるサイト、もしくはプログラムを お教え下さい。
Cokkie ってなに?
マルチか。
529 :
:02/08/13 02:21 ID:???
-d でファイルがディレクトリかどうかをチェックしたいのですが、ディレクトリを渡しても値が1にならない場合があります。 調べる場所が'.'の場合はちゃんと1になるんですけど、./aaaとかの場合はダメです。 原因がわかる方、教えてください。
530 :
:02/08/13 02:26 ID:???
補足です。他のファイルタイプ演算子、-fとかもダメです。
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++; } } } }
533 :
532 :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++; } } } }
534 :
532 :02/08/13 02:51 ID:???
がくっ。板汚しすみません。
if ($_[0] != '.'){ $con = $_[0] . $con; } この行の $con って、$con= $_[0] . '/' . $con; では?
537 :
532 :02/08/13 03:10 ID:???
その行は後からつけたもので、怪しい部分なのですが・・ おっしゃる通りにしても解決しませんでした。 もう少し整理してみます。ありがとうございます。
>>535 何が何だろうと、実行者の権限(user、www、nobody、、)で開けない物は
開けない訳だが
そう言う話じゃ無くて?
539 :
532 :02/08/13 03:25 ID:???
ファイル名を読み込んで、表示させることはできるのです。 でもファイルタイプを調べるのに失敗してしまいます。
540 :
532 :02/08/13 03:49 ID:???
if ($_[0] ne '.') { $con = $_[0] . '/' . $con; } で解決しました。アドレスと等価演算子が原因でした。 初歩的なミスでご迷惑をかけてしまって申し訳ないです。
541 :
nobodyさん :02/08/13 10:16 ID:O/STFm+B
>>526 Cookieに適当な値をセットして次のページに移動。
その値が見つからなければCookieが無効になってる。
542 :
526 :02/08/13 12:08 ID:Z6o18Dpl
有り難うございます。 …して、その方法すら分からないのです。
>>542 まずキーボードのCtrlとAltとDelキーを同時押しして
544 :
nobodyさん :02/08/13 16:53 ID:Yx7h0BT7
546 :
:02/08/13 17:22 ID:???
書き込み・読み込みの対象となるファイルを指定する際、ホームディレクトリから見た 相対パスを使えということでは?
547 :
nobodyさん :02/08/13 17:48 ID:LLsp0K0M
画像アップ掲示板で画像がサムネイル表示されるヤツ探してます。 誰か情報ください。
548 :
nobodyさん :02/08/13 17:54 ID:cQCAQtqS
マルチ
550 :
nobodyさん :02/08/13 18:00 ID:LLsp0K0M
551 :
nobodyさん :02/08/13 18:30 ID:GLxdMhFg
>>550 モップ片手に重複投稿するカワイイメイドロボ
マルチ野郎 「ここの掲示板に質問したけど馬鹿ばっかみたいだからこっちにも同じ質問しとこう。」 「早く答えろよ、しょうがねーな、こっちの掲示板にも書いとくか。」
553 :
_ :02/08/14 01:13 ID:???
i-modeからファイルのアップロード処理をする時に何か気をつける部分はありますか? ファイルの拡張子などをちゃんと自動認識して判別をしてくれたりするのでしょうか?
555 :
554 :02/08/14 12:41 ID:???
>>553 $ENV{'HTTP_X_FORWARDED_FOR'}
↑かTelnetだと思ふ。
556 :
nobodyさん :02/08/14 14:12 ID:VGnnPFt3
ドラクエアドベンチャー4を設置しようとしているのですが、 Script execution errorとでてしまいます。 ビッグローブサーバーに設置しているのですが、 この文字が出たときはどうすればいいのでしょうか?
557 :
553 :02/08/14 15:22 ID:???
>>554 telnet削除してあります。
現在の経路は、socks_proxy→http_proxyでアクセスしてます。
でも抜かれる。なぜだろう。
558 :
553 :02/08/14 16:14 ID:???
socks→socks→httpproxyの経由だと 127.0.0.1のIPしか抜かれませんでした。
559 :
:02/08/15 03:40 ID:???
戻るボタンでCGIのページに戻る場合、ページの有効期限切れになることがありますけど、 これが出ない場合もありますよね。 この違いは、サーバの設定に依存するんでしょうか。
http串でアクセスしたけど、抜かれなかったよ JavaとかXとか全部切ったけど
561 :
最適PG人生とは。 :02/08/15 19:28 ID:+AitDXia
「買い物かごに入れる」 というふうなボタンがついていて オンラインで購入できるようなページは CGIで作られているのでしょうか?
566 :
:02/08/15 22:24 ID:Sv5BCHdr
ERROR:長すぎる行があります! ↑ コレ追加したいのですが。。。 if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
ハァ?
>>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>";}
こういうことか?
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;
今PC用の掲示板設置してるんですけどこれを携帯からも閲覧、書き込みできるようにしたいのですができますか?
出来る。
どうしたらいいでしょうか?
聞くだけじゃなく、考える事も大事だと思うのだが。 第一に、元々携帯に対応した掲示板使えば早かろうと。
今の掲示板をどうしてもそのまま使いたいのです…。
>>574 で、自分でどこまでやってみたのさ?
携帯向けでまず気にするのは1ページのサイズを抑えることだろ。
iモード、J-SKY、ezWebが1ページ何バイト以内なのかぐらい調べたのか?
1ページに表示する発言を減らすとか、無駄なタグ削るとか、何かやってみろ。
576 :
nobodyさん :02/08/16 13:47 ID:r3LEM9ym
スレ違いだったらすんません。 apebaordスキンかunicoスキンのどっちかを使おうと思ってるんですが、 どっちの設置方法のほうが簡単なんでしょうか? unicoの方が比較的簡単と聞いたんですが。 ショボイ質問で本当に申し訳ない。
もう時代遅れですか?
579 :
nobodyさん :02/08/17 04:06 ID:qkaHYdxT
何か始めてみたいんですけど、手始めに何から始めたらいいんでしょう? OSはウィンドウズ、HTMLがちょこっと書けるくらいのスキルしかないです。
>>579 CGIで何をやりたいの?まずはそこからでしょ。
>>576 質問の意味が分からん。分かりやすく書け
KENTのY!BBS風の掲示板だっけ?
あれ見に行ったけど、クレクレ帽が多すぎ
KENTもよくやるよな・・・
582 :
nobodyさん :02/08/19 12:13 ID:h1gbkZ0X
質問 こちらで発行したIDやパス等の登録情報を管理するCGIを作っていて、 登録情報専用のディレクトリのファイルリストを表示する中に そのリスト中のファイルの最終更新時刻を取得する部分があるんだけど、 「.」「..」を除いて全てがThu Jan 1 09:00:00 1970になってしまいます。 色々試しているとどうやらCGIを置いているディレクトリ以外の ディレクトリをオープンするとそうなるらしく、 CGI本体をオープン先のディレクトリに移動すると問題無く動作します。 しかし登録情報を置いたディレクトリにCGIを置くのは出来る限り避けたいのです。 何か良い方法はありませんでしょうか? あるいは何らかの手落ちでこういった状態になるのであれば、それも教えて頂けると幸いです。
>>582 最終更新時刻を取得するCGIをデータディレクトリに入れて、
他のディレクトリのCGIから時間取得のCGIを操作してやれば?
584 :
nobodyさん :02/08/19 13:40 ID:h1gbkZ0X
そうですね・・ 何かいい方法はとは言ってもそれ位しか選択肢ありませんよね とりあえず仰せの通り別ファイル化で対処しておきます
585 :
nobodyさん :02/08/19 15:12 ID:h1gbkZ0X
追記ですが、自己解決しました。 chdirで作業ディレクトリを移動させる事によって、 別ディレクトリのファイルの時刻を取得出来るようになりました。 CGIを分離する必要も無くなりました。 (というより別ファイルにしてもカレントディレクトリは変わらない為意味がなかった)
ご質問です。 CGIと同じかそれに近いディレクトリにMicrosoft Accessがあるとします。 CGIからMicrosoft Accessにアタッチする事は可能なんでしょうか? 可能であれば、その方法が記載されているURLなんぞを教えて貰えないでしょうか? もしくはサンプルでもあれば非常に助かります・・・ Googleで検索もして見たんですがなく、、、 上記って特殊なやり方なんでしょうかねぇ・・・
587 :
586 :02/08/19 15:56 ID:???
ASPとかではないです。 普通のプロバイダが無料でくれるスペースでのお話です。 ・・・ダメ?
>>586 自分の質問に「ご」は付けません。「質問」が正しいです。
>>587 プロバイダが無料でくれるスペースにMicrosoft Accessがあるところがあるの?
サーバがWindows系のプロバイダってどこ?
Access自体は入って無くても問題はないがな
>>586 特殊なんじゃなくて検索の仕方が悪いに全部。
592 :
nobodyさん :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からまともに動くことを確認シル
594 :
nobodyさん :02/08/19 23:44 ID:hYzoL+XK
お聞きしたいのですが、 perlからphpをincludeのようなことはできますでしょうか? また、逆にphpからperlプログラムを呼び出して変数を受け取ったりできますでしょうか? もうひとつお聞きすると、 perlで既に年月日の形になっているものからLinux標準時間に戻す関数はないのでしょうか? よろしくお願いします。
595 :
:02/08/19 23:52 ID:???
できます。 できます。 あります。
596 :
594 :02/08/19 23:55 ID:hYzoL+XK
よろしければ詳しくお願いしますm(__)m
597 :
592 :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」とは具体的にどういう意味なのですか?
>>597 Cやったことある?
要するに、「定義されてない変数が出てきたよ」ってこと。
my ($dir, $url, @data, $style);
とかやるか、(推奨)
use strict;
↑の行を探して削除するか、どっちか。
599 :
592 :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 ディレクトリを開くことが出来なかったということはわかるのですが なぜ開けないのでしょうか・・・ パーミッションのチェックはしましたが、問題はありませんでした。 教えて君ですいません。
600 :
nobodyさん :02/08/20 01:19 ID:hbbe/bFq
>>592 そもそもJavaScriptを使えよ、と思ったのは私だけですか?
自分でも多分違うと思います。 JavaScriptのほうがややこしいと思っていたら CGIも結局2chで聞いている現状という罠
です
>>599 >パーミッションのチェックはしましたが、問題はありませんでした。
は・は・は(大爆笑
>>592 homeの前にスラッシュはいらないのだろうか。
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 );
>>607 あげ2chか?
SJISでかいてちょ。
って書いてるんだからSJISで書けよ
ヴァカ??
>608 氏ね
CGIの技術を学ぶためには、全くの基礎からやり始めるにはやはり書籍を参考に するのが良いですかね? 何からやりはじめればCGIを操れるようになりますかね? プロの皆さんは何の知識を得ることからはじめましたか?
他人のソースを見る。
素人ですが、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
616 :
ヤッシー ◆akL9r.oU :02/08/21 15:51 ID:vNJ2y6lW
i…? すみません、リファレンスで検索しても見つからないので、わかりません。 もうすこし詳しく教えていただけませんでしょうか…すみません。
もっと探せ。
$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は、大黒屋さんの方を使いたいと思っているのですが、どこをどういう風にしたら
音が停止しないようになるのか教えてください。宜しくお願いします。
621 :
nobodyさん :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の設定だと思うのですが、変更箇所が分かりません。 よろしくお願いします。
>>619 スレ立てた後に、よくこんなトコで聞けるよな
623 :
マム :02/08/21 21:54 ID:AE2ns9S9
教えてください。それだけなんです。。 教えていただいたら、すぐに消えます。HTMLの問題であれば、どういう風にすれば いいのか、それだけを教えてください。 お願いします
>>619 BGSOUNDとEMBEDの違い。
板違いにつきsage
626 :
マム :02/08/21 22:22 ID:AE2ns9S9
結局わからないだけなのね。残念だわ
>>626 捨て台詞はいいからサッサと消えろよオマエ。
628 :
マム :02/08/22 03:35 ID:cGCA+Ih9
>> 624さんへ ありがとうございました。あなただけでした。ちゃんと回答してくれたのは。 624さんには大変感謝です。問題も解決しました。 こんな2ちゃんねるみたいなところでもちゃんと回答してくれる人がいるん ですね。お礼だけ言わせてください。 ありがとう624さん。 あと、なんかこの2ちゃんねるの板のルールもわかんないで書き込んだので 私も悪かったです。今日はじめて書き込みしたんで。 とにかく624さんには感謝してます。ありがとう
なぜ初心者は自分の行動が間違っていることを理解しないのだろう。
自作自演に気づけ!
631 :
nobodyさん :02/08/22 15:21 ID:OD++zTqz
あのぉ〜、iswebで画像up掲示板を設置しました。 んで、普通に投稿ボタンを押したら「設定エラー.データ保存用ファイル$tmp_file"が見つかりません.自動作成を試みましたができませんでした。 処理は中断されました.」って出ました。cgi-binのフォルダの中にcgiとか置いてるし パーミッションもちゃんと設定されているハズなんですが・・・。 どうすればいいでしょうか?
>パーミッションもちゃんと設定されているハズなんですが・・・。 ディレクトリって分かるか? ファイル作るディレクトリの権限を757にするか実行ファイルをsuid
633 :
nobodyさん :02/08/22 15:34 ID:OD++zTqz
suidってなんですか?すいど?
634 :
nobodyさん :02/08/22 15:34 ID:OD++zTqz
ディレクトリもわかりません。何回か見たことあるけど
すまん、余りに不親切だ FTPで、upboard.cgiとかのパミを設定しただろ? 755とか701に? それと同じ様に cgi-bin/hogehoge/ と設置したのなら hogehogeのパーミッションを緩めて行けば良いよ それでもダメならcgi-binから順番に緩めて行くといい 頑張れよ、もう書かないから
imgboard.cgiなら img-boxフォルダの属性を777
>>638 配布元で相談に乗ってもらいつつマルチポストですか。豪気だねぇ
ゴメソ気を付けます
まあガンガレ漏れも昔はさっぱり分からんかったよ
Error Message: No such file or directory Error Number: 2 て、そのまんまの意味では。
643 :
スクリプトエラー :02/08/23 17:49 ID:uC6hG1Tt
初めまして。 プログラムをWEBサーバにアップすると「ScriptError」と表示されてしまい動かないのです。 自分のノートパソコンではきちんと動いてくれるのですが・・・・・。どのような事が原因でこのような事が起こるのでしょうか?。
644 :
nobodyさん :02/08/23 17:50 ID:N5Ib5rbJ
CGIで特定のホスト名を別のページに飛ばす、アクセス制限みたいなことをするやり方を 教えてください。 何回かやったけど無理でした。
>>643 >>644 原因を特定するために
何のプログラムで
どのようにしたら
どの段階で
どうなったかを書き込むヨロシ
646 :
nobodyさん :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
>>646 × $url =
http:// ○.com;
○ $url = '
http:// ○.com';
× if (host_name = *******) {
○ if ($host_name = *******) {
× if (host_name = *******) { ○ if ($host_name eq '*******'){
650 :
644 :02/08/23 20:07 ID:N5Ib5rbJ
648,649のとおりにやりましたが http 500 鯖エラーが出ます。 なぜでしょう?
× print "Location: $url"; ○ print "Location: $url\n\n"; これかな?
>>647 なんか FORM 作るの面倒だから試してないけど。
動くみたいだから、転送に失敗したか、パーミッションくらいしか思いつかん。
にしても
>>646 さんは優しいのね。
653 :
652 :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
動作には関係ない所だけど、文字コードは正しく記述してください。 ×EUC ○euc-jp
Perl CGIでProxyアクセスを制限する方法はありますか? 例えば、80番ポートが開いていたらアクセスを拒否するとか。 よろしくお願いします。
660 :
スクリプトエラー :02/08/23 23:36 ID:uC6hG1Tt
>>655 flockは使えます。
>>656 持っている書籍通りにしたはずなんですけど、違うんですね。直しておきます(^^;
662 :
657 :02/08/24 12:28 ID:eiO+XJZG
>>658 >>659 ご協力どうもです。
疑問ですが、2ちゃんねるの「Proxy寄生虫です」を出すのはどういう仕組みなんですか?
665 :
スクリプトエラー :02/08/24 14:54 ID:8HRWTAMT
>>661 それはないと思います。今アップロードしてもスクリプトエラーでしたから。
>>665 とりあえず flock 外したり、最低限どの状態なら動くか確認すべ氏
KCatch使うとか出力リダイレクトするとかじゃダメなの?
669 :
644 :02/08/24 20:57 ID:sqmHF1To
今更ですが、644です。 えと、指定のホストの奴を飛ばすことは出来ました。 が、今度は、それ以外の人を、また別のところへ飛ばすにはどうすればよいのでしょうか?
670 :
スクリプトエラー :02/08/25 02:47 ID:CiBcCHZS
672 :
672 :02/08/25 19:38 ID:???
掲示板で、URL・メールアドレス・本文の3つ書き込む場所があり、 もしURLへの書き込みがない場合→全角空白1つを表示したいのです。$value =~ s// /g; ←この置換だけではうまくいきませんでした。 テーブルを使っている関係で、記入なしだと形が崩れるのでそれを防ぎたいのです。 よろしくお願いします。
if($url eq ""){ $url = " " }
674 :
657 :02/08/25 22:08 ID:5Sl7GuzD
676 :
:02/08/25 23:46 ID:???
$url = $url ? $url : " ";
678 :
nobodyさん :02/08/26 01:50 ID:UjnC3nLS
掲示板でログを保存するためのdatファイルが、書き込みが増えるにつれて どんどん肥大化するのですが。たとえば掲示板を見たり書き込んだりするたびに 10MBクラスのdatファイルを開いたり更新したりするのはサーバーに負担が かかるんでしょうか?問題ある場合どのように対処すべきでしょうか? ちなみにCGIはTripodに置いています。
>>678 更新する前にデリられるという罠
カキコの前にBenchmark
でも、諸氏の分割サイズということには便乗
えっと、アプロダ系のCGIは、掲示板を作るのと同じような感覚で作成・設置する事が できるんですか? あまりにも抽象的な質問ですみません。
681 :
nobodyさん :02/08/26 13:27 ID:WJ0ASq8o
ある数値をを多い順にソートしたいんですけど、 @hoge = reverse sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @hoge; こんな方法もあるんですが、(split(/<>/,$_))[1]を変数に当てはめた後にソート処理をするにはどうすれば宜しいのでしょうか?
$hensu = (split(/<>/,$_))[1]; @hoge = reverse sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @hoge;
683 :
nobodyさん :02/08/26 14:03 ID:TifdgD6o
【絶対】バンテリン【有利】 つかってほしいねー、サロンパス
ジャバスクリプトのバージョンをしりたいんですけど どうしたらよいのでしょうか? どなたかお知恵を拝借ください
ループの時に使う$iって何か意味があるんですか?
$i #int integer 慣習。
私はiteratorだと聞いたことがあるなぁ ま、慣習だね
>>688 普通知らないだろうが、Fortranでは
I, J, K, L, M, Nで始まる変数名が整数型となるため、
ループのカウンタを整数型にするためにIを使用していた。その名残り。
2重ループなんかは、次Jになってるでしょ。
物知り自慰さんじゃあ!
yybbsで管理者が全てのスレッドを発言修正できるようにしたいのですが、 方法ありますか?
696 :
nobodyさん :02/08/27 00:32 ID:q0U4FNMc
>>679 分割サイズとはどういうことなのでしょうか?
697 :
nobodyさん :02/08/27 01:02 ID:CX5s0ack
699 :
送料 :02/08/27 02:22 ID:xgv3aSxO
HTML の一部を別ファイルから読むようになっているのですが、 そこに変数を書いても、変数として扱われません。 $abc とかが、そのまま$abc とプリントされてしまう。 こういう場合、そうすたらいいんでしょうか?
>>698 データ分割とはログをいくつかのファイルに分けるっていうことでしょうか?
>>699 s/\$abc/HOGEHOGE/で置換させれば良いのでは?
>61 そうきたか、逝ってくる( ´ー`)
703 :
nobodyさん :02/08/27 05:11 ID:xgv3aSxO
>>701 レスありがとう。
変数の中身は変わるから、その中身を表示させたいのです。
HTML を読み込んだ場合、変数が変数として
扱われないのはなぜなんでしょう?
>>変数の中身は変わるから、その中身を表示させたい だったらs///で置換してもだめだな。 HTMLを読み込むってのは、openでHTMLの各行を配列にするんだろ? そうだと、例えば$file[3]に"<h1>$title</h1>"という文字列が代入されるわけだから、 変数$titleは変数ではなく文字列として扱われるんだと思う。
705 :
nobodyさん :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サーバの設定やローカル環境に問題があるのでしょうか。
>>699 s/\$([a-zA-Z_]+)/($$1)/eg;
かな。
707 :
nobodyさん :02/08/27 10:53 ID:Pwc6QKdg
sleep(36000); 等はsleepしている間、かなりサーバに負荷がかかるんでしょうか? また、これ以外、何時間後かに動作させるにはどうするいいんでしょうか?
708 :
705 :02/08/27 11:31 ID:???
解決しますた。原因はパッシブモード。 $ftp = Net::FTP->new($ftphost, Debug => $ftpdbg, Passive => 1)||die "Net::FTP FAILED"; で動きますた。
710 :
nobodyさん :02/08/27 11:53 ID:+xL6Nd0D
タウンページのようなPOSTメソッドでCGIを呼び出すサイトに GETメソッドでキーワードを渡すようなCGIを仲介させたいのですが、 可能でしょうか?
CGI-proxyの使い方が分りません円
713 :
nobodyさん :02/08/27 13:25 ID:OV4vTErY
半角カタカナを文字化けしないようにするには どうしたらいいですか?
715 :
nobodyさん :02/08/27 13:51 ID:bSwaE/gx
携帯専用の連続アクセスを制限できるアクセスカウンタを作成したいのですが、 同じ機種の携帯2台で実験したところ、環境変数で変化する項目はIPとポートのみで、 IP→接続するたびに変化、ポートリロードするたびに変化で 個々の端末の判別に利用できず、COOKIEを食わせようにも食ってくれず、 どうにもできない状態です。 よい方法知ってる人いたら教えてください。
716 :
713 :02/08/27 13:52 ID:OV4vTErY
>714さんへ ユーザーエージェントってなんですか? ちなみにネタじゃないです。
>>715 最近のIDが取れる機種なら可能。
EZWebとかi-modeでは個体特有のIDをUSER_AGENTに吐き出す
718 :
nobodyさん :02/08/27 14:06 ID:I18kXluB
720 :
713 :02/08/27 14:17 ID:OV4vTErY
718&719さんへ スイマセン。検索したら大体わかったのですが、 私の説明不足だったので改めて質問しなおします。 i-modeのショッピングカートのCGIで、かごの中を 見た時に商品名が文字化けしてしまうのです。 それを直すにはどうしたらいいでしょうか? 素直に全角で商品名を書いた方が賢明でしょうか? 何か他の板で「CGIで半角カタカナを表示させるのは難しい」って 読んだんです。 長々とすいませんが、ご指導お願いします。
721 :
717 :02/08/27 14:20 ID:???
スマソ i-modeではutn指定しないとID送られないようです。
722 :
715 :02/08/27 14:20 ID:???
>>717 全対応。。。とまで行かなくても、503辺りまでとかは無理ですか?
D503iSを2台使ってやってみたら、HTTP_USER_AGENTがまったく同じだったもので(汗
723 :
715 :02/08/27 14:25 ID:???
>>717 utnというのがよくわかりませんが、ぐぐってみます。
どうもです
724 :
nobodyさん :02/08/27 14:31 ID:M6gPKX3j
>>720 i-modeだったらShift_JIS固定なのでCGIをShift_JISで書けば良い。
>>697 cgi素人なんですが、管理モードの部分をコピペするだけでいいんですか?
727 :
697 :02/08/27 15:08 ID:???
>>725 単純なコピペじゃ動かないだろうから、移植とかいたのだが、通じていないね。
素人なら、KENTさんや、KENTスクリプトの改造配布している人に頼むしかないのでは?
# 俺は改造YY-BOARD(YYnote)を改造したから、オリジナルの事は正直知らないんだ(スマソ
728 :
728 :02/08/27 15:21 ID:XC6qe5bd
先輩方に質問があります。 TOPページに小さいBBSを埋め込んでいるサイトを見つけて、 同じようなソースを探したんですけど、見つかりませんでした。 何かいいソースはご存知ないですか?
729 :
713 :02/08/27 15:23 ID:OV4vTErY
>724さんへ 「CGIをShift_JISで書けば良い。」ですが、 最初に何か宣言したりするんですか? それともエディタのモードをShift_JISにして書く という事ですか? 当方、エディタは秀丸です。 CGIはもとから改造なのでどこを修正するのか 分かりません。
730 :
nobodyさん :02/08/27 15:33 ID:u+z2O7j8
731 :
730 :02/08/27 15:34 ID:???
直リンしてしまった…鬱だし脳
>>728 html javascript cgi の、どれを指しているか解りません。
場合によっては、て言うかむしろ板違いだと思われ。
>>729 思いついたことを試してみてから質問するようにして下さい。
出力を Shift-JIS にする必要があります。
Shift-JIS で保存するだけでも動作する可能性はあります。
>>730 えこひいきすんな。
734 :
713 :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に変換する。」って どこをどうさわるのか分からないのでまだ試せません。
ゴメン。 jcode.pl 知らないんだけどさ。 &jcode'convert(*name,'Shift-JIS'); トカじゃないの?
736 :
nobodyさん :02/08/27 17:56 ID:qVb9I/tB
>>734 jcode.plのシフトジスは 'sjis' です。
>>735 知らないのだったら適当なこと答えないほうがよいと思われ
>>734 検索しる。
google で jcode.pl だけのキーワードで検索しても
jcode.plの公式サイトとjcode.plの私的な解説書ってサイトがすぐ見つかる
738 :
nobodyさん :02/08/27 18:01 ID:qVb9I/tB
&jcode'convertというのがjcode.pl使うということです。
739 :
713 :02/08/27 18:03 ID:OV4vTErY
みなさん素早いレスありがとうございます。 さっそく検索して試して見ます。 後ほど報告します。
740 :
735 :02/08/27 18:16 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("メールアドレスに不正な文字が含まれています。");} 単純につなげてもダメですね・・・素人ですいません。
_γ⌒⌒ヽ \\ノハ)ヽ)∩ (○) ´∀`ノ丿 / ̄ 謝ってからかきこんでねー ⊂二 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); と書いたのですが、画像を表示できません。 何がいけないんでしょうか?
>>745 1. 画像ファイルのパスが違う
2. 広告が入るサーバ使ってる
バイナリモードでは? open(IMG,"./xxx/xxx/bbb.gif"); print "Content-type: image\/gif\n\n"; binmode(IMG); binmode(STDOUT); print <IMG>; close(IMG);
もしくは \r\n\r\n
749 :
_ :02/08/29 00:10 ID:???
$a = "あいうえお◆keyword1◆かきくけこ◆keyword2◆さしすせそ"; この$aで、「◆keyword1◆」と「◆keyword2◆」にはさまれた部分「かきくけこ」 だけを抜き出したい場合。 indexで「◆keyword1◆」の位置を、rindexで「◆keyword2◆」の位置を調べて substrで抜き出すという方法はすぐおもいつきましたがもっとスマートな方法が あればお知恵拝借したいと存じます。
>>750 抜き出すのが「かきくけこ」ってわかってるんだから抜き出す必要もなかろう。
いや、750はあくまでも例です。 本当は抜き出す部分が何であるかは事前にわかりません。
>752 じゃあ、「あいうえお」の部分に「◆keyword1」と入れられたり、 「さしすせそ」の部分に「keyword2◆」と入れられたらどうするの?
いや、それはないものと仮定してください。
>754 なぜないと言い切れるのか。 そういう考えがセキュリティホールを生み出したりすると思うのだが。 絶対にないと言うなら、正規表現でも使えば?(Perlの場合)
「◆keyword1◆」と「◆keyword2◆」って、複数ペア存在するかどうかぐらい 書きなよ
べつにセキュリティに関わるような重大なものじゃないんで… 正規表現使うとどうなりますかね?
>757 そういう気持ちに問題があるっての。 あんたのCGIのせいで、同じサーバーのほかの人間が迷惑被る可能性だってあるんだよ。
もちろんありえないことはないのはわかっています。 サーバーにアップする前にはちゃんと対策します。
簡単に書くならこうか? ($hoge) = $a =~ /◆keyword1◆(.*?)◆keyword2◆/; substr使った方が倍以上速いけど $b = index($a,'◆keyword1◆'+1,index($a,'◆')); $hoge = substr($a,$b+3,rindex($a,'◆keyword2◆')-$b-3);
>>760 すごいです。ありがとうございます。$aには\nも含まれるので、/s;にして無事うまくいきました。
しかしやはりsubstrの方がやや速かったです。
762 :
760 :02/08/29 04:17 ID:???
>>761 上の例だと2倍チョイだけど、抜き出す文字列が長くなれば速度差は
数十倍以上になったりするからね
つってもループ外で使うなら気にするほどの差じゃ無いので
自分が分かりやすい方を書いた方が後々良いかもしれん
763 :
nobodyさん :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のファイルしか直接読めない。 なんかいい方法ないかな。
netfirms以上の腐った仕様ですのね。 欧鳥みたいに php+MySQLが一番なんだが #最近jp弾きするようになったのは誰のせい?
765 :
nobodyさん :02/08/31 01:51 ID:3XHp94dS
767 :
宣伝隊No.4 :02/08/31 08:07 ID:qEuEjGno
>>767 知り合いよ、頼むから恥ずかしいことせんといてくれ・・・
めちゃYY2chそのものじゃないか。。。
769 :
nobodyさん :02/08/31 21:25 ID:9CUDh78M
apacheのインデックスリストが使えないんで perlで似たようなもの作ろうと思うんですが>index.cgiにして置く予定 誰か似たようなスクリプト作ってませんか?
>>769 ディレクトリ内のファイル全部リンクして表示すりゃいいだけじゃないの?
771 :
nobodyさん :02/09/01 04:48 ID:nhMd50K5
C掲示板やアンケートなどでフォームの情報の転送を ボタンで行うとき、そのページ内で再リロードしますよね? それの情報を別ウインドウに送るにはどうすればいいのでしょうか?
773 :
769 :02/09/01 10:28 ID:2Mci4oQX
>>770 まぁ そうなんですけど
ファイル上げるたびに更新するのめんどいんで
動的にやってくれるやつがないかなって
775 :
769 :02/09/01 11:11 ID:2Mci4oQX
>>774 使えたら苦労はしないっす。
CGIだけは使えるのでそれでどうにかしようと思ってます。
777 :
769 :02/09/01 11:34 ID:2Mci4oQX
無料のサーバーで apache1.3.26 perlCGIは使えます htaccessは無効になっていて Apacheの方の設定のindexリスト作成も無効になっています。
>771 <form action"..." target="..."> とかいう問題じゃないよね?
>778(自己レス) action「=」が抜けてた。 鬱死。
>>780 こういうのは軽いほうがいいからopendirのほうがまだいいだろ
CGIの運用に関する質問とは言い難いかも知れないが。 CGIって言葉の意味ってどんなもんでしょう。 「デジタル用語辞典」とかに載ってる様な、「HTMLでは実現できない云々」 とか言う方はわかるんですが、 「PHPはCGIより速い」 という場合の「CGI」の意味がちょっとわからんす。 先ほどの定義ではPHPとかもCGIなような気がするんで。 もしかしてこういう場合は、 mod_phpとかmod_perlに対して、mod_cgiという意味で使っているのでしょうか?
784 :
783 :02/09/01 14:21 ID:???
いちおーあげとくんべか。
>783 >「PHPはCGIより速い」 こんな馬鹿なこと言ったの誰だ?
CGI=CommonGatewayInterface
CGIは言語ではなく技術を総称した言い方
>>783 の「PHPはCGIより速い」っていった人はCGI=Perl言語と勘違いしてるだけ
>>786 「PHPはPerlより速い」っていうのもどうかと思う。
いや、もちろん
>>783 の引用元がアホなだけなんだが。
788 :
783 :02/09/01 19:08 ID:???
789 :
783 :02/09/01 19:17 ID:???
またsageで書いちまったage
>>788 リンク先みたいな場面だと普通にCGI <-> mod_perlがどうこうなどと書いてあんですよね。
>788 それはmod_perlの命令の一つに「CGI」というのがあるだけと思われ。
791 :
<> :02/09/01 20:55 ID:8fmb+fu6
>>791 自分で試してみようとは思わないの…?
とりあえず、perl5.6以上で文字コードutf8にしてuse utf8;でなら可能だけど。
さもなくばJcode.pmのJcode::trメソッドを使う、とか
>>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 としましたがだめでした。
>>794 いや、PHPにもApache組み込み型じゃなくてCGI型があったはず。
インタプリタ言語としての性能差比較なんだろうか??
798 :
nobodyさん :02/09/02 15:54 ID:2dKvJqig
>>763 やっぱり和鳥ってCGI使いにくいんですか?
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のどれかでおねがいします
C わかるかっ!
802 :
俺 :02/09/02 17:47 ID:???
Please,だれかおしえてくれ・・・
>>800 私はできますが、あなたが出来るかはわかりません。
804 :
俺 :02/09/02 21:28 ID:???
サンキュー
805 :
nobodyさん :02/09/02 21:29 ID:fApWiCnr
806 :
783 :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」
と言う言葉を使う場合がある、という事でしょうか。
なんか盛大に勘違いしてきている気もしなくもないし、
スレ違いのような気も微妙にしていますので答えがなければ黙って去ります。
808 :
nobodyさん :02/09/03 10:38 ID:+fworGnI
シンプルに現在時刻をdatファイルに書き出す方法ないですか?
>>808 現在時刻ってUNIXタイムスタンプでいいの。
810 :
nobodyさん :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";
811 :
808 :02/09/03 12:15 ID:05tL4XNt
>>809 GMT-8で時間を取得したいです。
あとdatに書き出す方法が分からないです。
すみません。調べても分からなくて。
>>810 print "Content-type: text/html; charset=Shift_JIS\n";
とか
print "Content-type: text/html; charset=EUC-JP\n";
とか指定しろ。
ログがファイルの書き込み処理で $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 $_; } } はどちらが良いのでしょうか?
814 :
813 :02/09/03 22:32 ID:???
>ログがファイルの書き込み処理で ログファイルでした。すみまちぇん。
foreach(@HOGE){ if(index($_,"$aaa,") == 0){ print OUT $gola; }else{ print OUT $_; } } 漏れならこうかな?
816 :
813 :02/09/03 22:35 ID:???
>>815 素早い回答ありがとうございました!
815さんのやり方の方がかっくいいのでこれからそのやり方にさせて板抱きます!!
ありがとうございました。
817 :
nobodyさん :02/09/03 22:57 ID:qCA/TmZF
>>816 かっくいいわるい以前に負荷が全然違う。
(split(/,/))[0]
は普通にsplitするよりも負荷高いから余程の理由が無い限りは
ループ内で使うもんじゃない。
ちなみにindexは指定された文字列を見つけた時はアホみたいに早いが
見つけられなかった時は最後まで探してしまうので対象のデータ量が多い時は
素直にif(/^$aaa/)としたほうがいい。この場合は$aaaで始まってるか始まって無いか
分かった時点で判定終了する。
カンマ忘れた (/^${aaa},/)
>>817 そうなんですか。
わかりました。
負荷と速度を気にしているんでよく覚えておきます。
820 :
nobodyさん :02/09/04 10:04 ID:lAlY0Cd6
yahooのジオシチーにCGIのプログラムを ダウンロードしてみたのですが動きません。 なぜですか? バーナーを張り付けたからでしょうか?
日本語から習いなおしてください。
822 :
nobodyさん :02/09/04 16:22 ID:A3ZRMRKj
>>822 つーか、有料サーバならサポートくらいあんだろ。
そっちで聞けよ
825 :
nobodyさん :02/09/04 23:36 ID:9zek6dkE
methodで指定する送信方式ってGETやPOSTが一般的だけど、他にも HEAD, PUT, DELETE, LINK, UNLINK, OPTIONS, TRACE, PATCH とかあるらしい。 この送信方式って、どう違うの?
検索ぐらい汁。 漏れはHEADよく使うけどな。
レンタルサーバ(共有)を利用していますが、cronでPHPスクリプトを動かしたいとき、 CGIにしなけりゃいけないの?
>>825 乱暴な言い方すると通信のしかたはどれも一緒。
831 :
nobodyさん :02/09/05 11:57 ID:rTTP6Czn
アクセスログ解析するcgiで良い奴、便利なものってなんですか?
>> 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;
}
}
$fh->close; 過去悪いな(藁
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>"
}
としたのですが、これだとディレクトリ名も取得してしまいます。
ファイル名だけを取得することは可能ですか?
835 :
nobodyさん :02/09/05 16:30 ID:wlSd51fU
掲示板CGI「挨拶しちゃろう!」でIPを抜くにはどうすればいいデスか?
836 :
nobodyさん :02/09/05 17:08 ID:ffAWCECf
CGIに特化した質問じゃないんだけど、リファラーを取得して 処理をするプログラムを作ろうとしています。 主要なブラウザやその複数に渡るバージョンで、リファラーを 渡さない(返さない?)ものはあるのでしょうか? ご存知でしたら教えてください。
837 :
nobodyさん :02/09/05 17:10 ID:9DT7IxqZ
Operaは設定でリファラをオフに出来る。 セキュリティソフトの一部はHTTPリクエストからリファラ行を削除する。 一部の人はProxomitronなどでリファラを消している。
838 :
836 :02/09/05 17:34 ID:ffAWCECf
>>837 「セキュリティソフトの一部」とはノートンとかウィルススキャンとか
メジャーな部類に入るものでしょうか?
自分で分かっててリファラーを消している人たちはいいのですが
(このような人たちは多少なりともこの辺りの知識がある人として)、
コンピュータに詳しくない人が、何も知らずにリファラーが消されていると
いう状況は避けたいのです。
それ無理だろ。
「Referer を吐いてないことで正常に処理されてないな」 と思って、一時的に Referer を吐くように設定し直すからでは?
842 :
nobodyさん :02/09/05 22:14 ID:9DT7IxqZ
?
>>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";
}
}
844 :
sage :02/09/06 01:41 ID:NZiXunYP
プログラムはRefererをONにしないと正常に動作しない可能性があります。 [そんなこと知っている] [よくわからないが見る] [戻る]
>>836 そうしようとしないかぎり、リファラ送らないことはほとんど無いので、
とりあえず安心しとけ。
>> 844
プログラマの視点からしか物が見られない典型的な事例ですか?
せめて、
「このウェブサイトはRefererをONにしないと正常に閲覧できない可能性があります」
ぐらいにしてくれ。
プログラム -> ウェブサイト 動作しない -> 閲覧できない 出力に置換のラップかけとく。
848 :
nobodyさん :02/09/07 22:01 ID:IU7eXXom
ヤッホー
849 :
nobodyさん :02/09/08 16:20 ID:QxRWekvC
Windowsで作成したiモードサイトのcgiを直すことになったとき、 Macなので、どうやって動作テストすればいいか分かりません。 iモードツールみたいなもののMac版ってあるんでしょうか?
マルチ氏ね
851 :
nobodyさん :02/09/08 17:40 ID:lY3xuSDW
>>846 閲覧←これってなんて読みますか?
漢字にしたいときにどうしてもでてこない。
852 :
nobodyさん :02/09/08 17:42 ID:Nhv16nwZ
小学生かよ
辞書引けボケ
854 :
nobodyさん :02/09/08 18:02 ID:y2CqVjI0
えつらん
>>854 。・゚・(ノД`)・゚・。ありがとうございます
856 :
nobodyさん :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です。 どなたか、教えていただけるとありがたいです。よろしくお願いします。
>>856 鯖どこ?
Xreaとかだとカウンタは使えなかったような・・・
>>856 サポート掲示板で相談にのってもらいながら2ちゃんねるにマルチポストですか。
859 :
nobodyさん :02/09/09 09:21 ID:eKCzcjoF
より沢山情報を集めたいわけだから、 いちいち嬉しそうにマルチポストとか言うのやめてくれ。 分からない奴にしたら必死なんだから。
>>859 より簡単に。ダロ。
自覚があるなら、文頭に「マルチポストで済みません」とでも書くべきだ。
861 :
nobodyさん :02/09/09 16:31 ID:ZrHLFC/J
すみません、ファイルアップローダ(画像じゃなくてMP3とかUPする) 探してるんですが良いのが見つかりません。。 はずきちゃんねるにあるのよりもうちょっとオシャレな奴で、 何かいいのあれば教えて下さい。
863 :
861 :02/09/09 16:40 ID:ZrHLFC/J
864 :
nobodyさん :02/09/09 21:50 ID:IRt9L7Rw
あるディレクトリィが存在するのを確認する為にはどうすればいいのでしょうか? if(-e "$dir"){print "ある";} では駄目でした。 -eはファイルの存在を確認するのに使いますよね? ならディレクトリィは?
865 :
nobodyさん :02/09/09 21:57 ID:6CRW+SNV
できたけど
866 :
v :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ファイルを何処に預ければいいか分かりません。 お手数でしょうが教えてください。
868 :
nobodyさん :02/09/09 22:06 ID:IRt9L7Rw
>>865 ほんとにできました!
ありがとうござまし!!!!!!!
871 :
オッゾ :02/09/09 22:09 ID:HEASrRw7
>>869 様
レス、ありがとうございます。
ですが、まだよく分かりません。
アドレスはどういうふうに書けば良いのでしょうか?
そのサーバーの管理人にでも聞け。 ローカルでテストなら、自分で決めろ。
873 :
オッゾ :02/09/09 22:16 ID:HEASrRw7
自分のPCで確認テストをやろうと 思っているのです。 Cドライブにcgiというフォルダを作成し、 cgiフォルダの中にtesu.cgiというファイルを作成しています。 そのtesu.cgiファイルを自分のPCの wwwサーバでテストをするには URLをなんとすればよいのでしょうか。 教えてください。
874 :
nobodyさん :02/09/09 22:17 ID:6CRW+SNV
サーバは何使ってるんだよ
876 :
オッゾ :02/09/09 22:23 ID:HEASrRw7
>>874 様
>>875 様
レスをつけてくださって
ありがとうございます。
>>875 様のレスの通りやってみたら
できました。
ありがとうございました。
877 :
nobodyさん :02/09/11 01:28 ID:Iryg/10A
i-modeサイト用のCGIで質問があります。 入力フォームに対して確認画面を出したいのですが、 i-modeだとjavascript使えないので、 <a href="javascript:history.back()">戻る</a> というのは、どうすればいいですか?
>>877 質問の意図がわからない。
Javascript使ってるほうが特殊だろ。普通にアドレス指定すれば?
ていうかJavascript効かなきゃ戻れないようなスクリプト使うな。
嫌がらせか?
879 :
nobodyさん :02/09/13 20:48 ID:YsVvuUh9
hiden
881 :
nobodyさん :02/09/13 22:04 ID:ZBvTgmmn
具体的にhiddenでどういうスクリプトを書けばいいですか? 最近hiddenの使いかたでつまづいているので、 詳しく知りたいです。
882 :
3PIO ◆3pIoOHKo :02/09/13 22:26 ID:oB59gluG
>>879 メソッドGETでやるのか?
$ENV{'QUERY_STRING'}を取得してどうにかしてみれば?
hiddenはスクリプトには直接な関係は無し。 入力項目をブラウザに表示するかしないかの違い。
>>879 仮に index.cgi?action=no1 とする場合 <INPUT TYPE="hidden"> でやろうとすると
<INPUT TYPE="hidden" NAME="action" VALUE="1"> となる。
>>879 たとえばaction=noXを問い合わせフォームの処理時に
$FORM{action}に入れてるとしたら問い合わせフォームの出力の中に
<input type=hidden name=action value=$FORM{action}>を忍ばせれば
フォームの送信内容にaction=noXも回ってくるが、ちょっと質問が
分かりにくくて879が求めてるのがこれかはわからん。
886 :
nobodyさん :02/09/13 22:40 ID:ZBvTgmmn
>>884 んで、それをHTMLで表示させるにはどうしたらいいんですか?
887 :
3PIO ◆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"; }
888 :
3PIO ◆3pIoOHKo :02/09/13 22:51 ID:oB59gluG
>>886 訂正
if ($ENV{'QUERY_STRING'} =~ /action=/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$'\">\n";
}
889 :
nobodyさん :02/09/13 23:13 ID:6czl9EPt
ありがとうございますー。 ということは、 postではなくgetでということですよね。 疲れるでしょ、すみませんド素人なんです。
疲れるでしょ じゃねーよハゲ オマエみたいのがホント最悪
892 :
nobodyさん :02/09/14 11:03 ID:6J79DWJ0
>>890 もしかしておたくがハゲてるからって八つ当たりかい
CGI = Perlだと思っている初心者はいつになったらいなくなってくれるのかな。。。
894 :
3PIO ◆3pIoOHKo :02/09/14 21:11 ID:htgZrHO5
>>886 訂正
if ($ENV{'QUERY_STRING'} =~ /(.*)action=(\w+)(.*)/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$2\">\n";
}
こうしたほうが安全かも
>>894 それは言えてる
でも俺はPerlしか分からない。スマソ
>>893 君が Perl 以外の言語で質問に答えまくれば少しは減るかもね。
898 :
nobodyさん :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
899 :
nobodyさん :02/09/15 03:32 ID:3+dpNle4
>>898 そんなもん、そのCGIを作っているサイトのサポートにでも聞け
900 :
nobodyさん :02/09/15 13:58 ID:phaXzr8M
携帯電話からPC向けのページを見るための変換スクリプトはないのでしょうか? あと、infoseekの国語辞典を携帯から利用するスクリプトもあるのでしょうか?
>>900 前 UAで振り分けろ。スクリプトなんか自分で作れ。
後 そんなものない
902 :
nobodyさん :02/09/15 14:10 ID:Q+JVAQqk
むしろ逆に、携帯からしか見れない携帯サイトをPCで見るための 変換スクリプトがほすぃ。
<sage>
905 :
nobodyさん :02/09/15 20:52 ID:phaXzr8M
906 :
nobodyさん :02/09/15 21:34 ID:kinL8j5T
907 :
nobodyさん :02/09/16 01:33 ID:J5uNkolO
CGIに初めて挑戦しているので、どうか教えて下さい。 フォームメールを作って、今テストの段階なのですが、 入力して送信すると、 ???セッションファイルへの書き込みができません??? というメッセージが出ます。 フォームメールのためにアップロードしたのは form.htmlとform.cgiとjcode.plなのですが、 セッションファイルとは何ですか? 何か、別にファイルを作らなくてはいけないのでしょうか? 検索してもよく分からなくて、、、 よろしくお願いします。
それだけでわかったらすごいわ。
910 :
907 :02/09/16 01:50 ID:J5uNkolO
教えてくれる気がないということでしょうか、 もういいです。
へっ、逆切れか。
>>907 料理に初めて挑戦しているので、どうか教えて下さい。
ハンバーグを作って、今テストの段階なのですが、
調理して食べさせると、
???まずくて食べられません???
というメッセージを言われます。
ハンバーグのために買ってきたのは
挽き肉と玉ねぎと塩こしょうなのですが、
まずいとは何ですか?
何か、別に隠し味を入れなくてはいけないのでしょうか?
検索してもよく分からなくて、、、
よろしくお願いします。
>>912 重要なもの忘れとるだろ
糞100g、しっこ200g
あと、全部混ぜてから股の油いれないと硬くなるよ
焼くときは焦げないように頻繁にひっくり返して臭いを嗅ぐ
915 :
nobodyさん :02/09/16 13:16 ID:PIQgWKn6
>>915 自分が使ってるサイトなんだから・・・
きみが書いたURLの[設定編]に書いてあるYO!
917 :
915 :02/09/16 14:12 ID:PIQgWKn6
>>916 "#!/usr/local/bin/perl"の#にパスを入れたらいいのですか?
"#!/usr/local/bin/perl"に"#!/usr/local/bin/perl/pasu"みたいに追加したらいいのですか?
>>917 書いてあるだろ!嫁!日本語不自由ですか?
919 :
915 :02/09/16 14:22 ID:PIQgWKn6
>>918 UUBの場合は、設定はすべて"info.pl"でできるようになっているので、info.plを同様にメモ帳で開いて編集します。
設定項目はすべて"$**** = '####';"のようになっているので、####の部分だけを編集します
文字数決まってるの?
"#!/usr/local/bin/perl"だと1文字だけ?
( ゚д゚)ポカーン
>>919 世の中CGI初心者と呼ばれる人間は腐るほどいるが、
キミからはセンスを感じられない
「設定編」の真ん中あたりに書いてあると思うが、
そこは読み飛ばしてしまった訳だね。
>>915 ほとんどのサーバーでデフォルトのままで動作しますが、動作しない場合はサーバー管理者にお問い合わせください。
CGIで表示させたいHTMLの中にSSIを組み込む方法ってありますか? どう試してもSSIを実行してくれないのです。
>923 SSIなんぞ呼ばずに、そのCGIの中で処理をすればよかろう。
例えばの話ですが・・・ アクセスログ解析のSSIスクリプトを拾ってきてPerlで作った掲示板に組み込むにはどうしましょって事では? 漏れも知りたいのでやり方きぼんぬ。
CGIの中でファイル呼び出しをするなり、SSIのソースをサブルーチンとして CGIに組み込むなりいくらでもやり方はあると思うぞ。 後は言語によって違うから、それぞれのスレで聞くべきだろうね。 どうしても外部SSIで呼びたいなら、.htaccessとかを勉強するべきかな?
CGI で吐く内容を .shtml とかのファイルに出力 ↓ CGI の最後でそのファイルに location: で飛ぶ ↓ ファイルに書き込まれた SSI も動く ↓ (゚д゚)ウマー ↓ 但しファイル名はランダムにしないと、同時アクセスがあった時 ヤな事に。更に出力したファイルは定期的に削除する必要あり ↓ (゚д゚)ウアー
928 :
nobodyさん :02/09/17 18:43 ID:xWAxaqtP
ファイル情報格納ディレクトリ、アクセスログファイル名は必ず変更してください。 ってどう変更したらいのですか? # ■ ファイル情報格納ディレクトリ(変更することを強く推奨) $filedir = 'files'; # ■ アクセスログファイル名 (変更することを強く推奨。) $accesslogfile = 'access.log';
どうだと? 他人が予測できない名前に変えろ。 $filedir = '543563'; $accesslogfile = 'ysryyhs'; とかな。使いやすさは知らんが。
931 :
nobodyさん :02/09/18 01:43 ID:b7YS3bD5
932 :
nobodyさん :02/09/18 01:51 ID:/dV2eWsm
$in{'msg'} =~ s/(
http:\/\/ )([a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1ime.nu\/$2">
935 :
nobodyさん :02/09/18 02:02 ID:XVcuOo25
>>931 $in{'msg'} =~ s/(
http:\/\/ )([a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1ime.nu\/$2">$1$2<\/a>/ig;
938 :
934 :02/09/18 02:20 ID:WitizyRA
>>936 一発で出来ました。感激です。
どうもありがとうございました。
939 :
nobodyさん :02/09/18 18:45 ID:ECgqRdVc
ほんとかよ?
940 :
nobodyさん :02/09/18 19:02 ID:FWNVUu6r
はいはい板違い。
>>940 tomoタン懐かしいなあ。未だに晒されてるのか。かわいそうに。
944 :
nobodyさん :02/09/19 01:36 ID:EYRy75E4
KENTのCGIってセキュリティーがカナーリ甘いのは気のせいでしょうか? いたずらしたくてうずうずしちゃいます。
以下のように作りたいんですが… 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でズラーっと書いていくしかないんでしょうか?
947 :
946 :02/09/20 18:18 ID:???
946>> すみませんちょっと書き間違えました。 キーが{$koumoku}となっていたり{$mon_koumoku}となっていたりしますが、全部同じとみなして下さい。 すみません
>946 ${"real_$no"}{$koumoku} = $mana;
>>946 >>948 は仕様に忠実なんだけど、
同じことならハッシュの配列の方がuse strict;下でも動くし好ましいかな
$real [$no] {$koumoku} = $mana;
950 :
946 :02/09/20 19:10 ID:???
>>948 ありがとうデス。
きちんとした確認は取りませんでしたが、おそらく意図した通りに動きました。
>>948 こちらもありがとです。
ところで、もしかして、それは多次元配列(って名前だっけか?)とか言うヤツですか?
多次元配列は一度も使った事ないです。
良いものを思い出させてくれてありがとうです。
ちょっと多次元配列の使い方を調べてみますね。
951 :
946 :02/09/20 19:54 ID:???
>>948 &
>>949 完全に意図した通りに動作させることが出来ました。
ありがとうございます。
自分の中では今までやったことのない複雑な処理だったんでどうして良いのかと困っていたんですよ。
お二人が教えてくれたおかげでホント助かりました。
はじめて2ちゃんねるに書き込んだのですが、正直言って感激しました。
普通の掲示板(KENTとかの)で、トリップを出せるようにすることは 可能でしょうか? 何方かご伝授お願いしますです。
>>952 どんな掲示板だろうと、改造すれば可能。
トリップ機能付きBBSってのも危険だよ? 悪意ある設置者の場合、トリップキーを盗めるし。 よっぽど信用できる相手のBBSでない限り、普段と同じトリップは使えない。
>956 2chが危険じゃなくて、2chで騙られる可能性が出るって事。 普段、2chで使ってるトリップが「◆abcdefgh」で、そのトリップキーが「#12345678」だとする。 2ch以外のBBSで同じトリップを使うには、#12345678を入力しないといけないよな? それをBBSのスクリプト内で変換するんだから。 しかし、悪意ある管理者なら、この#12345678をログに保存する事ができてしまう。 結果的に「◆abcdefghのトリップキーは#12345678だ」と知る事ができてしまうのよ。 トリップってのは個人を特定する為の道具である以上、そのキーを第三者に知られるってのはヤヴァイ事もある。 特に騙り防止でトリップ使ってる人にとってはね。
>959 セキュリティってのは多少気にしすぎくらいでちょうどいいと思ってる。 特にBBSなんてのは「知ったメンバーの場所」である可能性が高いし、 そうでなければ2chと同じトリップを使う意味もないしね。 逆を言えば、知ったメンバーだからこそ、自分の行動場所を 知られているわけだから、騙られないように気をつけるべきだと思う。 ところで次スレは?
>>960 トリップ機能をセキュリティ云々というのなら、初めっからパスワード制に
すればいいだけのことだろ。
>961 それをユーザー側では選べないってこと。 設置する側が危険というよりは、利用する側が危険。 また、利用者がトリップ騙りをされた時、トリップ付BBS設置者が真っ先に疑われる。 正直、パスワード制の方がいいと思うよ。 それでもトリップにしたいってのは、トリップで遊びたいって事だからでしょ? 遊ぶのはいいけど、そういう危険性があると言う事だけは肝に銘じておいてくれって事で。
>>954 そこの掲示板を使うことにしました。
ありがとうございます。
レス下さった方々、ありがとうございました。
これにて失礼致します。
964 :
952 :02/09/21 14:35 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 に直接ヘッダを書けばいいとすれば、
どのような書き方があるのでしょうか。
>>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 の標準入力にはヘッダは入れれないみたい。
ところで、「偽装」なんて言うと牛肉みたいだ。あと、次スレがあるよ。
おれが1000ゲト
969 :
nobodyさん :02/09/27 16:15 ID:hQ9dvMrP
sage
シマタ!! アゲテモタ スマソ
971 :
nobodyさん :02/09/29 00:15 ID:XD/Kg5DE
廃品利用
972 :
nobodyさん :02/09/29 10:57 ID:T8lRdqNO
http://uho.s7.xrea.com/cgi-bin/yy2ch/ なんだけど、
>>各スレッドから1-100を表示する みたいな感じにできないのですか?
>>一つのスレに 最大いくつまで書き込めるかも設定できるようにしてほしいです。
の機能、漏れもつけたいと思って自分で改造しようとしたけど何処をいじったらいいのか
わからない…。
何方か教えてくださいませ…。
974 :
nobodyさん :02/10/01 20:11 ID:GvOqDAXc
/ミヽ /ミヽ ミミミ /川川川\ミミミ
|||@ノハヽヽ@||| ミミ〇川||/ ヽ|||||〇ミミ
ミ/川 \l||||彡 |川/ ヽ卅川
|||||/ ヽ卅||| (|| ・ , ・ ||)
|⌒|(|| ‘ , ‘ l|) |⌒|ヽ"▽ "ノ(⌒ヽ
ヽ ⊃ゝ" ▽"ノ| ヽ ⊃入ノ| ⌒ ⊂ 丿
/_/入ノヽ ( ノ / / ★ ( ヽ─゛ 来るのれす☆
/● ● ●丿/=/ ヽ゛ヽ★ ★\|
http://ip.tosp.co.jp/i.asp?i=yosiekeiko |● ● 入ノ ヽノ , _)★ ★ ヽ
ヽ__ヽ/ ̄ ̄ヽ / ̄| __ヽ/___|
\ ヽ─ / ,\ / /
ヽ )/ ̄/ (__( ヽ゛
/─-/‖ ̄ヾ). \─ヽ
《ヽ=ヾ  ̄ ̄ =ミ 》
\___) (___/
早く使いきってしまおうぜ。 取り敢えずなんか書きこぬ。
976 :
nobodyさん :02/10/01 22:46 ID:/MHsvfgG
age
977 :
nobodyさん :02/10/01 23:03 ID:46QWbCel
香具師age
加勢するぜ
火星するぜ
980
協力するぜ
強力するぜ
983
参加するぜ
酸化するぜ
986
援助するぜ
怨除するぜ
989 :
nobodyさん :02/10/03 11:13 ID:vcMqf4eP
つーか989
あとちょい
もうちょい
992。 あと一息だ。 上げちまおうっと。
人いない板なのに、次スレ早く立て過ぎたようだね
な、なんだよ・・・
はぁ?
よいしょ
どう?
はい
ますっ!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。