CGIだけど、なんか質問ある? Part 12
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/10/10 00:04:06ID:???※ CGIはウェブサーバ上でユーザプログラムを動作させるための仕組みであり、
Perl等特定の言語に依存するものではありません。
Perlのコーディングに関する質問は、専用スレでお願いします:
[Perlコーディング初心者質問スレ Part 38]
http://pc5.2ch.net/test/read.cgi/php/1097158988/
CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[△▲ WebProg 初心者の質問 Part10 ▼▽]
http://pc5.2ch.net/test/read.cgi/php/1095633323/
過去ログ・関連スレッドは>>2-10あたりに
0636nobodyさん
2005/05/01(日) 02:27:45ID:???礼などいらん。
できたらそれでいいんだからもう来るな。
できなかったらモジュールに問題があって、
それはまた別の問題だから諦めてもう来るな。
0637nobodyさん
2005/05/01(日) 02:30:00ID:???0639nobodyさん
2005/05/01(日) 02:33:25ID:???0641nobodyさん
2005/05/01(日) 02:39:02ID:???まず
package Module;
use Exporter;
@ISA = (Exporter);
@EXPORT = qw(sub1 sub2);
この部分をコピペしたらきちんと表示されたのだが、Exporterの部分を
例のモジュール名に変えたらエラーが起きた、根本的にExporterっていきなり書いてあって
pmファイル作ってないぞ? とか思ったのだが。Exporterってなんなのだ?
0642nobodyさん
2005/05/01(日) 02:39:40ID:???0643nobodyさん
2005/05/01(日) 02:45:28ID:???http://www.google.co.jp
0644nobodyさん
2005/05/01(日) 02:46:50ID:???0645nobodyさん
2005/05/01(日) 02:49:23ID:???自分の書き込みを見て恥を書いたぞ?Moduleを変えるのだな、それに
PMファイル事態最初の文字が大文字ではなかった
0646nobodyさん
2005/05/01(日) 02:50:08ID:???0647nobodyさん
2005/05/01(日) 02:56:50ID:???0648nobodyさん
2005/05/01(日) 22:02:47ID:???0649nobodyさん
2005/05/01(日) 22:08:54ID:???ローカルで動作確認時に
#!C:/Perl/bin/perl を
#!/usr/local/bin/perl で
済ます方法を誰か教えて下さいまし。
ハードリンクは上手くできませんでしたorz
0650nobodyさん
2005/05/01(日) 22:27:09ID:???http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource
以後、Apache の質問は Apache スレへ。
http://pc8.2ch.net/test/read.cgi/php/1043851302/
0652649
2005/05/02(月) 01:21:16ID:???セキュリティの部分に書かれてることがちょっと心配なので、勉強してみまつ。
0654nobodyさん
2005/05/02(月) 13:44:13ID:Q52Bj/Jxどうしてもわからないので質問させて下さい。
# もしスレ違いでしたら該当スレに誘導して頂けると嬉しいです。
image::magickでサムネイルを作成するperlスクリプトを書いているのですが、
JPEG、PNG、通常のGIFは上手く行くもののアニメーションGIFが上手く行きません。
そこで、
1.アニメーションGIFはimage::magickで縮小できるのか
2.できるのであればそのやり方
3.できないのであれば通常のGIFとアニメーションGIFとの(プログラム上の)見分け方
についてアドバイス頂ければと思います。
ご存知の方がいらっしゃいましたら何卒ご教示下さい。
よろしくお願い致します。
0655nobodyさん
2005/05/02(月) 14:02:05ID:???ttp://www.tohoho-web.com/wwwgif.htm
アニメgifをバラバラにしてimage magickして再度連結してヘッダーを修正すればできるんじゃない
0656nobodyさん
2005/05/02(月) 14:54:49ID:???あ、なるほど。早速その方法で試してみます。
ご回答頂き有り難うございました。
ヘッダーの違いに関する参照リンクまで用意して頂き、本当に感謝します。
0657nobodyさん
2005/05/02(月) 14:57:44ID:???my $ani = Image::Magick->new;
$ani->Read("ani.gif");
$ani->Resize(width=>200, height=>200, blur=>0.7);
print "Content-type: image/gif\n\n";
binmode STDOUT;
$ani->Write('gif:-');
とりあえずこれでできたが(アニメしたまま縮小)、
もしかしたら元のアニメGIFに左右されるのかも。
0658nobodyさん
2005/05/02(月) 16:01:47ID:???ありがとうございます。
結果は・・・今しばらくお待ち下さい。
そのソースを動かしてみたところ何故かサーバがハングしてしまって・・・。
何がいけないのかよくわからないのでちょっと時間がかかりそうです。
# 気づいた後から考えると大抵くだらないミスだったりするんですが、
# その時には案外気づかないもので・・・。
動かせたら報告に来ますね。
0659nobodyさん
2005/05/02(月) 16:29:06ID:u/Tu5sm00660nobodyさん
2005/05/04(水) 23:09:32ID:V8PGwM3sそういったテクニックがあればご教授願います。
0661nobodyさん
2005/05/04(水) 23:19:52ID:+PrCDRLf南柏のアトラスをよろしくね。
皆さん来てください。
0662nobodyさん
2005/05/05(木) 00:37:52ID:lHBvZskFわかりにくくてすいません^^;
0663nobodyさん
2005/05/05(木) 01:05:24ID:???0664nobodyさん
2005/05/05(木) 07:30:11ID:???XAMPPをインストールして動かしているのですが、Perl だけ500エラーを返してきました。
スクリプトに問題は無いはずなのですが・・・。なぜでしょうか?
0666664
2005/05/05(木) 18:15:26ID:???#!/usr/bin/perl では動作しませんでしたが、
#!usr/bin/perl では動作しました。
できれば #!/usr/bin/perl で動作させたいのですが・・・。
どうすればいいでしょうか。
(ちなみに、現時点でのperl.exeの位置はc:\apachegroup\xampp\usr\bin\です。)
0668nobodyさん
2005/05/13(金) 15:33:18ID:WNC6vHqpリンク集(データベースみたいな物)はつけれるのでしょうか?
初心者のためまったくわかりません。詳しい人がいましたら教えていただきたいですm(_ _)m
0669nobodyさん
NGNGルートディレクトリはどうなった?
usr/bin/perl
cd ../..
file not fo........
0670nobodyさん
2005/05/13(金) 23:10:45ID:???flashやCGIに適切に手を加えればできます。
付けるという言葉より作り直すという言葉が適切なほど、面倒な作業になることでしょう。
0671nobodyさん
2005/05/14(土) 13:17:30ID:nH7byT7rてかこれからperlを覚えようと思うんだけど、PHPのがいい?PHPのが簡単?
0672nobodyさん
2005/05/14(土) 13:20:31ID:???あと、中のコメント見ればいいだろうに。
0673nobodyさん
2005/05/14(土) 15:43:17ID:???http://x-web.pobox.ne.jp/fcgi/fcgi_f3.html
0674nobodyさん
2005/05/15(日) 02:28:14ID:???キーワード検索で該当するレスを抽出してくれるスクリプトは
配布されてないでしょうか
↓こういうのです。
http://iwaizumi.vis.ne.jp/index.html
できればPerlが望ましいです。よろしくお願いします
0675nobodyさん
2005/05/16(月) 11:43:40ID:oPXHCd7S初歩的な質問だけど、登録されたページのタイトルを変更したら、その新しいタイトルで検索しても出てこない。
変更の再登録が必要ですか?やっぱり。
0676nobodyさん
2005/05/18(水) 01:18:12ID:???現在自宅サーバ上で動かそうとしているのですが、
どうやっても動きません。
エラーとしては、
Premature end of script headers
であり、文字コードをEUC+LFに変更してみたのですがだめでした。
ちなみに、CGIで同じエラーで動かないものと、
動くものがあり、エラーがでるものは同様に何をしても動きません
ほかにどのような原因が考えられますでしょうか。
よろしくお願いします
0677nobodyさん
2005/05/18(水) 05:57:27ID:???CGI設置について質問 【Part2】
http://pc8.2ch.net/test/read.cgi/php/1104624784/
0678nobodyさん
2005/05/18(水) 07:19:11ID:???いってみます
0679nobodyさん
2005/05/20(金) 23:55:45ID:???Excelシート(表)をアップして、おんなじディレクトリに作ってあるサイトのコンパネからそのサイトのTOPページに
html自動生成して表示させたいんですけど.....これってどうやればよろしいでしょうか??
やったことないからまったくわからん。どなたかお助けお願いします。。
0680nobodyさん
2005/05/22(日) 19:41:55ID:jIddMVZsほにゃらら
</form>
を実行して、画面移行後を.cgiではない拡張子にするには何か方法がありますか?
.htmlか.shtmlにしたいんですけども。
0681nobodyさん
2005/05/22(日) 20:59:56ID:???0682680
2005/05/24(火) 15:53:16ID:gieb2d8s何か良い方法はないでしょうか。
0684680
2005/05/24(火) 16:07:13ID:gieb2d8sとやっただけです。.cgi内にはcookieにいろいろ書き込む事が書いてあったので、
結果表示は飛んだ先のshtml内でユーザのHDDからcookieを拾えばいいかなと。
そう思ったのに出来てないのです。
「実行後にredirect」という方法がわかりません。すいません。。。
0685nobodyさん
2005/05/24(火) 16:30:06ID:???htaccessを使ってredirectした場合、ここにはcgiが無いのでredirect先に移動すれって意味になる。
そのため、cgiの処理は実行されない。
一方cgiの出力としてhttpヘッダのredirect(status codeが301や302。307もか)を出すと、
cgiの処理後にやっぱここじゃなくてredirect先に移動すれって指示することができる。
具体的には、perlの場合 print "Content-type: text/html\n\n"とかになっている所を
print "Status: 301 Moved Permanently\n";
print "Location: redirect先の絶対URL\n\n";
のように変更。詳しい内容は上の文章で出てくる単語でググるべし。
0686nobodyさん
2005/05/24(火) 17:59:36ID:RAvVemHGワードで作った文書をデータで展開してくださいと言われたのですが
どのように展開していいのか分かりません。ワードでの文書はできています。
だれか教えてください。
0687nobodyさん
2005/05/24(火) 18:05:36ID:???その人に聞いてください。
その人が期待しているものが何なのか分からん。
つーか、オマイが何で聞き返さなかったのかも分からん。
0688nobodyさん
2005/05/24(火) 23:30:00ID:???掲示板にID機能を付けたいと考えてます
ホストから適当なIDに変換して成りすましができないように
するにはどのようにすればよいでしょうか?
簡単なものでもいいのでよろしくお願いします
0689nobodyさん
2005/05/25(水) 00:00:17ID:???成りすまし防止なら、ホストを表示しるw
それかトリップ。
それか、crypt $host, "$1$"+$salt で、尻の方から適当な文字数を抜き出せ(最大22バイト)。
0690680
2005/05/25(水) 00:51:35ID:Yut2C7b60691nobodyさん
2005/05/25(水) 15:56:38ID:???どうもありがとうございます
ホストから一部抜き出すこともできるみたいですね
crypt $host, "$1$"+$salt
これをCGIに付け加えると良いんでしょうか?
0693nobodyさん
2005/05/26(木) 17:33:13ID:QrZX/3rH広告にアクセスしないとダウンロードできないプログラム
って配布されているところありませんでしょうか?
広告収入で著作権料金や着うたを製作しておりますので
どうしても曲数を増やすのに広告収入を得る事が必要になります
もしご存知でしたらご教授よろしくお願いいたします。
0694nobodyさん
2005/05/26(木) 18:10:45ID:???0695nobodyさん
2005/05/26(木) 21:22:45ID:???0696nobodyさん
2005/05/27(金) 00:26:20ID:yljyO92Lスミマセン、超初心者で手探りでCGIを改造している者です、どうかどうか以下質問にお答え頂けるとありがてぇです。
今、掲示板のCGIをあれこれ工夫しながら改造しているところなのですが、逆引き不可IPからの書き込みを
拒否できるようにしたいと奮闘中であります……が
逆引き不可のIPを特定できません…
かなり厨房な質問をしているのは重々承知しているのですが、ぐぐっても、あれこれ参考文をみてもコレというものが
みつからず、ここに書き込みした次第であります。
どうか、逆引きIPの特定方法を教えて頂けないでしょうか。
蛇足だとは思いますが、逆引き不可IPについて。
IPアドレスが全て数字で構成されたものです。
よろしくお願いいたします
0697名無しさん@お腹いっぱい
2005/05/27(金) 00:45:23ID:???REMOTE_HOST のアドレスを元に
サーバが名前を引いてるんだったら、IPアドレスが入ってたら逆引き不可
サーバが引いてないんだったら、(=REMOTE_ADDR)自分で名前引いて
引けなかったら逆引き不可
0698696
2005/05/27(金) 02:23:10ID:yljyO92L早速のレスありがとうございます。
CGIの超初心者故、さらなる質問で失礼します。
現在いじっている掲示板CGIではサーバーは名前を引いているようです。
アクセス制限は、個別にIPアドレスやホスト名を指定することで制限をかけることが可能なのですが…
@deny = ("*.anonymizer.com",,
"*.kick.my.ass"
);
上記のように、一個一個指定していかなくてはならん模様です。
取得したホスト情報が全て数字で構成されている、という条件で蹴れるようであれば一番楽かなと
おもい、先の書き込みにあるような質問をさせて頂きました。
>サーバが名前を引いてるんだったら、IPアドレスが入ってたら逆引き不可
これにあるとおり、IPアドレス(数字だけ)ならばという条件文はどのように記述すれば宜しいでしょうか?
基本的な質問ばかりで恐縮ですが、ご教授いただければ幸いです。
0699nobodyさん
2005/05/27(金) 04:10:49ID:???0700nobodyさん
2005/05/27(金) 09:03:33ID:???http://pc8.2ch.net/test/read.cgi/php/1115281031/159-160
http://pc8.2ch.net/test/read.cgi/php/1012750353/744-745
0702nobodyさん
2005/05/30(月) 02:22:54ID:cSR7keAp掲示板の書き込みで、NGワード(http:と、@半角アットと、.半角ドット)を設定したいのですが、
特殊文字の設定がうまくいきません・・・
使用している掲示板はKENTさんのとこのYYボードです。
http:を消すのは↓の部分を改造して、
if ($in{'comment'} eq "") { &error("コメントが入力されていません。"); }
↓で解決できたのですが
if ($in{'comment'} =~ /http:/) { &error(" http: の入力はできません。"); }
@半角アットと、.半角ドットを消すのがうまくいきません・・・
if ($in{'comment'} =~ /@/) { &error(" @ の入力はできません。"); }
↑のようにすると、いちおう@半角アットを検出してくれるのですが、
なぜか「全角スペース」まで検出してエラーを出してしまうのです・・・
@半角アットだけを検出するにはどうしたらいいでしょうか?
ちなみにCGIプログラムは初心者です・・・
0705702
2005/05/30(月) 11:48:32ID:???レスどうもです。
=~ /\@/ や =~ /(\@)/ に書き換えても、
やっぱり@と「全角スペース」まで検出してしまうとです・・・
CGIでは@は全角スペース扱いされてしまうのでしょうか
それともYYボードの仕様でなってしまうのでしょうか
702に補足で、半角ドット検出は成功しましたです。
0707702
2005/05/30(月) 15:10:08ID:???なるほど、そうだったのですかー
という事は「@は検出するけど、\x81\x40は検出しないでね」
という式?命令文?を作ればOKなのかな・・・
うう、しかし
頭ではなんとなく分かっていても知識ないのでどうすればわからんとですorz
ご教授を〜
0708nobodyさん
2005/05/30(月) 16:30:24ID:???0710702
2005/05/30(月) 20:01:14ID:CXped1vAサラリと言ったその言葉すら意味不明の初心者なのですorz
0711nobodyさん
2005/05/30(月) 20:15:57ID:???つ【http://www.din.or.jp/~ohzaki/perl.htm】
0712nobodyさん
2005/05/30(月) 20:40:40ID:???2バイト文字ってのは聞いた事があるよね?
日本語のように使う文字が多い場合には、1byte(2の8乗 = 256)では表しきれないので、
2byte(2の16乗 = 65536)を使って表すようになっている。
次に、どういうbitの並び方の時にどういう文字を表すかを決める(統一する)必要があって、
これがshift-jisやeuc、いわゆる文字コードという事になる。
shift-jisで全角スペースを表すと、1byte目が\x81、2byte目が\x40になる。(\xは16進表記)
また、@は \x40(1byte文字)となる。
困った事に、\x40という部分だけに注目すると、全角スペースの2byte目なのか@の1byte目なのか区別がつかないのだ。
これがeucの場合、全角スペースは\xA1\xA1となり、@は\x40となる。
当然、全角スペースと@が混同されることは無くなるが、
更にはeucの場合\x40が1byte目2byte目に関係無く出現するような文字が無いのだ。
このため、@は @以外の文字と同じbyte表記を持つ事は無いことになる。
eucを使った場合にはこういう風にbyte表記が混同されることが無くなるため、
スクリプトにはeucを使っておけば良い、という話が散見されるわけだ。
話を分かり易くするために、正確では無い書き方をしている部分もあるので、
時間がある時にでも自分で調べてみてちょ。
0713702
2005/05/30(月) 22:04:28ID:CXped1vA全角スペースをeucにしなければならないと、
それをするには、$Zspace = '(?:\xA1\xA1)'; # EUC-JPみたいなのを
どこかに書けばいいのかな・・・それとも全部作り直す必要が・・・?
ヽ(;´Д`)ノ あたまがスポンジー!!!!
なんとなく踏み込んではいけない領域の気がしてきたので諦めます
せっかく教えて頂いたのに申し訳ないです。教えがいの無いあほな子ですorz
0715nobodyさん
2005/05/30(月) 22:41:38ID:???$euc = 調べたい文字列
&jcode::convert(\$euc, "euc", "sjis");
$euc =~ /hoehoe/
で変換できる。詳しくは、
http://openlab.jp/Jcode/index-j.html
0716nobodyさん
2005/06/01(水) 17:29:55ID:/F0XZ51/Set-CookieはContent-Typeより前に送信しなければいけないって
噂を聞かされましたけど、GNU cgiccやRuby::CGI-libのソースだと
Content-Typeが先でSet-Cookieが後です。
これを書く順番のルールってホントにあるの?
それともデタラメ?
0717nobodyさん
2005/06/01(水) 18:26:12ID:???states code(200,404とか)を最初に書くとか、慣習で順番が決まっているものもあるけど、基本的に順不同だよ。
不安なら、HTTP/1.0や HTTP/1.1のRFCを読むと良い。
0719nobodyさん
2005/06/03(金) 16:34:42ID:iEKsbxEn200x40のバナーを縦に表示するCGIなのですが、
1つのデータをループさせて、いくつも表示できるのです。
それでバナーとバナーの間にスペースを空けたいので
marginのbottomで8px空けたのですが、これをすると。
確かにバナーとバナーの間に8pxの空きができます。
でも最後のバナーの下にも空きがでてしまうのです。
最後だけは空きを作りたくないのです。これはどうすればよいのでしょうか?
0720nobodyさん
2005/06/03(金) 16:46:07ID:???最後のバナーかどうか判断できれば、それにmarginをつけないつー事もできるべ?
その考えをスクリプトに反映させれば良くね?
0721719
2005/06/03(金) 16:58:59ID:iEKsbxEnfor ($i = 0; $i < $pickup_max; $i++) {
@Slog=split(/<>/,$alllog[$newlog_pickup[$i]]);
if (!$Slog[0]){ next; }# IDが無効な場合無視する。
#第一カテゴリをリンクにする為の展開。
@kts=split(/&/,$Slog[10]);
$jump_kt_link = $Ekt . $kts[0] . $Eend;
$jump_kt_title = &full_kt($kts[0]);
#ピックアップした各サイトを表示する。
#★サイト毎の区切りの開始タグは、次のコメントを外して、"〜〜\n"の中に書く。
#$PU_sites .= "(*ここにmargin-bottomでバナーの下に空きを作っています。)\n";
&PRlog;
#★サイト毎の区切りの閉じタグは、次のコメントを外して、"〜〜\n"の中に書く。
#$PU_sites .= "\n";}
#★大枠の閉じタグは次のコメントを外して、"〜〜\n"の中に書く。
#$PU_sites .= "\n";
return$PU_sites;}
返信ありがとうございます。一部だけ抜粋していて意味不明でしょうが、こういうcgiです。
IEで見ると正常に表示されるけど、ネスケやOperaだと下に空白スペースが見えてしまいます。
そのラストバナーのスクリプトの付けられればと思うのですが、どこにどう書けばよいのかわからず。
0722nobodyさん
2005/06/03(金) 17:38:24ID:???0723719
2005/06/03(金) 17:52:09ID:???いくらやっても出来ない。
0724nobodyさん
2005/06/07(火) 04:04:28ID:DXoj/+TB携帯電話サイトを作っているのですがPCからのアクセス拒否のプログラム
ご親切な方配布先を教えては頂けないでしょうか?
探しましたがまったく見つからず宜しければ御願い致します。
0725nobodyさん
2005/06/07(火) 04:11:01ID:???0726nobodyさん
2005/06/08(水) 12:45:12ID:???0727nobodyさん
2005/06/10(金) 13:50:53ID:???gmailでフォームに入力したメールを自動返信したときに、
2バイト文字が全部□になってしまいます。
outlook expressだと大丈夫です。
jisには変換しているのですが、なぜかうまくいきません。
なんででしょうか???
0728nobodyさん
2005/06/10(金) 14:12:07ID:???0729nobodyさん
2005/06/11(土) 15:25:28ID:Nw8Ft/yI普通にレンタルサーバで使える範囲で
0730nobodyさん
2005/06/11(土) 15:39:44ID:???でもこんなトコで聞くくらいだから間借りだろ?
それだとPerl、PHPくらいしか使えないよ
しかもどちらもオブジェクト指向で書けるというだけであって
純粋なオブジェクト指向言語じゃないから
0731nobodyさん
2005/06/11(土) 20:30:45ID:???0732nobodyさん
2005/06/11(土) 22:42:48ID:???利用可能サーバ少な目だけどRubyにするかってとこでしょうかね
0733nobodyさん
2005/06/12(日) 00:46:13ID:tHGZxkktelseif{}
elseif{}
else{}
という文では、例えば2行目で条件が一致して実行されてしまった場合、
3行目4行目は全く無視されてしまうのでしょうか。
例えば$a=3の場合、
1行目で($a==0){}
2行目で($a>1){}
3行目で($a<5){}
ならば実行するのは2行目だけということになるのでしょうか。条件的には3行目も一致してますが。
0735nobodyさん
2005/06/12(日) 01:09:46ID:???■ このスレッドは過去ログ倉庫に格納されています