- 1 名前:nobodyさん [04/02/26 08:58 ID:GDAQuNNS]
- C言語CGI専用スレッド
pc2.2ch.net/test/read.cgi/php/988918264/ C/C++ CGI 専門のスレッドです。 スクリプトを検索できるサイトです。 cgi.resourceindex.com/Programs_and_Scripts/C_and_C++/ www.cgifiles.com/scripts/cc++/index.shtml 前スレ pc2.2ch.net/test/read.cgi/php/988918264/
- 322 名前:nobodyさん mailto:sage [05/01/21 15:52:04 ID:???]
- >>321
content-typeが変なのになってるんじゃないでしょうか。
- 323 名前:321 mailto:sage [05/01/21 16:58:47 ID:???]
- 普通に
Content-type: text/html です。 テスト用に時刻表示するやつを作ってみましたが 以下のテキストを吐き出すだけです。 Content-type: text/html <html> Fri Jan 21 16:53:21 2005 </html> これもブラウザから見ようとすると やっぱりファイルを保存しますか?となってます
- 324 名前:nobodyさん mailto:sage [05/01/21 17:39:21 ID:???]
- >>323
保存したファイルの中身は?
- 325 名前:321 mailto:sage [05/01/21 18:10:27 ID:???]
- >>324
保存したファイルの中身を見てみましたが実行用のバイナリファイル そのものだと思います。 出力結果とかが保存されてるわけではない(と思う)です
- 326 名前:nobodyさん mailto:sage [05/01/21 18:44:53 ID:???]
- AddHandlerは?
- 327 名前:321 mailto:sage [05/01/21 18:56:11 ID:???]
- 今のところこうなってます
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" ..... AddHandler cgi-script .cgi AddHandler cgi-script .pl
- 328 名前:nobodyさん mailto:sage [05/01/21 22:24:50 ID:???]
- >>321
どっちかと言うと C/C++ に関する問題ではないような。 だってコマンドラインから実効出来るという事は、「Cプログラム」としては正しいわけだろ。 たぶん Apache のディレクティブがきちんと設定されてないのでは? CGI 実行ディレクトリについて、Options +ExecCGI とかやってる? ちなみにウチのディレクティブは、CGI 関連はこんな感じ(Win32/Apache 2.0)。 LoadModule cgi_module modules/mod_cgi.so ScriptAlias /cgi-bin/ 実際のディレクトリ <Directory "実際のディレクトリ"> AllowOverride None Options +ExecCGI Order Allow,deny Allow from all </Directory> AddHandler cgi-script .cgi .pl 設定してからだいぶ経つので細かい意味は忘れてしまった・・・ウチも色んなトコ見て コピペを繰り返したので、検索しまくってガンガッてほしい。
- 329 名前:nobodyさん mailto:sage [05/01/22 07:40:07 ID:???]
- >>327
Perl CGIは実行できてるんだよね。
- 330 名前:321 mailto:sage [05/01/22 11:24:45 ID:???]
- すみません
今確認してみたらPerlCGIも実行できてませんでした...
- 331 名前:nobodyさん mailto:sage [05/01/22 13:33:32 ID:???]
- どこに置いて実行しようとしているんだ?
/cgi-bin/ならデフォルトでAliasが設定されているから>>328のように Options +ExecCGIを追加しないとならないし。 俺は/cgi-bin/のAliasをコメントアウトして全ディレクトリで使えるようにしてある。 DocumentRoot "実際のディレクトリ" <Directory "実際のディレクトリ"> Options FollowSymLinks MultiViews ExecCGI Includes AllowOverride ほげほげ Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi .pl
- 332 名前:nobodyさん mailto:sage [05/01/22 13:34:34 ID:???]
- あるいはユーザディレクトリなら別の部分で設定しなきゃならんよ。
- 333 名前:nobodyさん [05/01/25 07:56:51 ID:hWOf15Pd]
- >>304さんに便乗して質問です。
ログイン情報を記録する方法はわかったんですが、 クライアントが適切なログオフ処理をしなかったらセッション管理用のファイルは残りますよね? 例えば、クライアントがブラウザを閉じたらサーバ側で勝手にログオフ処理、なんてことは出来ないでしょうか?
- 334 名前:nobodyさん mailto:sage [05/01/25 08:11:21 ID:???]
- 絶対無理っしょ。
時間制限でタイムアウトするくらい。
- 335 名前:nobodyさん mailto:age [05/01/25 09:11:15 ID:???]
- 普通は>>334の方法でやるね。
- 336 名前:333 mailto:sage [05/01/25 10:01:05 ID:???]
- わかりました。一時間リクエストがなかったらログオフするようにしたいと思います。
ありがとうございました。
- 337 名前:nobodyさん mailto:sage [05/01/25 16:55:53 ID:???]
- クッキー使えばええやん
- 338 名前:nobodyさん mailto:sage [05/01/26 09:08:53 ID:???]
- >>337
どうやって? クッキーつかってもクライアントがブラウザ閉じたかなんてサーバー側では 判らんと思うが?
- 339 名前:nobodyさん mailto:hage [05/01/26 15:10:15 ID:???]
- 有効期限を過去に設定すればブラウザを終了させた時点でクッキーが消える。
- 340 名前:nobodyさん mailto:sage [05/01/26 15:17:37 ID:???]
- >>339
だから?
- 341 名前:nobodyさん mailto:hage [05/01/26 15:48:12 ID:???]
- >>340
少しは頭を働かせたら?
- 342 名前:nobodyさん mailto:sage [05/01/26 16:06:10 ID:???]
- >>341
お前が一番頭が働いていないようだが
- 343 名前:nobodyさん [05/01/26 16:11:38 ID:/NT/JEVZ]
- >>339
クッキーは消えてもサーバのセッションファイルは残るんだよ。 それをどうすればいいかを考えてるの。 ちなみにPHPでは session.gc_maxlifetime = 1440 とかで時間を指定してガベージコレクションしてる。
- 344 名前:nobodyさん mailto:sage [05/01/26 16:26:34 ID:???]
- >>339
消えても次にアクセスがあった時にクッキーがあるかどうかの 判断に利用できる程度だろ。 そういう話をしてるんじゃないの。
- 345 名前:nobodyさん mailto:hage [05/01/26 16:43:31 ID:???]
- 337が言っているのはセッションを使わずに、という意味だと思うが。
- 346 名前:nobodyさん mailto:sage [05/01/26 17:01:46 ID:???]
- >>345
そうか >>337言葉が足りないんだよ
- 347 名前:nobodyさん mailto:sage [05/01/26 17:07:30 ID:???]
- >>345
だとしても的外れには違いない。
- 348 名前:nobodyさん mailto:hage [05/01/26 17:10:17 ID:???]
- >>346
確かに。
- 349 名前:333 mailto:sage [05/01/27 00:23:16 ID:???]
- なんか種を蒔いちゃったみたいですいません…
自分としてはユーザ毎にデータファイルを必要とするプログラム書こうと思うんで やっぱりタイムアウト処理になると思います
- 350 名前:nobodyさん [05/01/27 12:24:39 ID:???]
- 当分はこのスレ下がるばかりか・・
- 351 名前:nobodyさん mailto:sage [05/01/27 13:55:33 ID:???]
- てかもはやCとかC++の話じゃなくてCGI一般の話ジャン
- 352 名前:nobodyさん mailto:sage [05/01/29 01:15:48 ID:???]
- すっかりCGIの話なのでアレだが、
Flash埋め込んでSocket通信させるってのはどうよ。 >ブラウザを閉じたらチェック
- 353 名前:nobodyさん mailto:sage [05/02/15 23:46:08 ID:???]
- cgiでscanf使えますか?
- 354 名前:nobodyさん [05/02/17 07:25:27 ID:27dZ6TGB]
- 質問させて下さい。
フォームから受け取った値をgetcharで読み込んでいるんですが、 「 , 」が%2Cになってしまいます。どうすればいいでしょうか?
- 355 名前:nobodyさん mailto:sage [05/02/17 08:36:36 ID:???]
- >>354
%2Cを , に変換すればいい
- 356 名前:354 mailto:sage [05/02/17 11:16:54 ID:???]
- >>355
ありがとうございました。 URLエンコードという言葉を今日はじめて知りました。。。
- 357 名前:nobodyさん mailto:sage [05/02/18 23:50:55 ID:???]
- >>353
標準入力に対するものだから、使える事は使えると思う。 が、入力書式が CGI とは合致しないわけだから、>>354がトライしているように、 getchar とか使って URL エンコードを自前 or ライブラリでやる方が モアベターだと思う。
- 358 名前:nobodyさん mailto:sage [05/02/20 17:03:47 ID:???]
- scanfなんてBOF問題バリバリの関数を使うなよ…
- 359 名前:nobodyさん mailto:sage [05/02/20 20:42:33 ID:???]
- ろくに知識がない奴ほど↑みたいな書き込みをするね。
- 360 名前:nobodyさん mailto:sage [05/02/21 11:04:26 ID:???]
- >>358
問題を理解した上で、自分の目的を満たすにはこれが良い、と思ったんなら、 どんどん使えば良い。と思うぞ。 包丁なんて怪我しやすい道具を使うなよ… なんて言わないべ?フードプロセッサー使ったって良いんだけどさw
- 361 名前:nobodyさん mailto:sage [2005/04/23(土) 18:11:42 ID:???]
- 質問です
今までPerl,PHP等やってきて最近C言語でCGIスクリプト作成をはじめましたが、排他処理は一般的にはどの手法を使いますか? やはりフォルダを作成する方法ですか?
- 362 名前:nobodyさん [2005/04/24(日) 21:13:21 ID:WkqhPVlv]
- VCでHelloWorldのテストCGIを作ったところ、111kBでした。
同じくLSICでコンパイルすると17kBでした。(500で動きませんでしたが。) なぜこんなにサイズの差があるのですか?もっと減らす方法はありませんか?
- 363 名前:nobodyさん mailto:sage [2005/04/25(月) 00:23:01 ID:???]
- >>362
MS-DOSとWin32の違い
- 364 名前:nobodyさん mailto:sage [2005/04/27(水) 01:22:34 ID:???]
- >>362
VC++のほうがデバッグモードになってないか?
- 365 名前:nobodyさん mailto:sage [2005/04/27(水) 10:44:49 ID:???]
- >>362
やってみたら Debugで160k Releaseで40k
- 366 名前:362 mailto:sage [2005/04/27(水) 21:39:50 ID:???]
- うわ、本当だ…
お騒がせしました
- 367 名前:nobodyさん [2005/05/19(木) 21:48:26 ID:GAjOQJM0]
- 今晩は、スレで度々話題になってるようですが、いまいちわからないので質問させてください。画像ファイルの質問です。
<input type="file">でjpegやGIF、BMP画像をpostで送信した場合、標準入力に他の文字列等と同様name=に画像ファイルデータ が送られているのでしょうか?その画像ファイルはどの様に処理したらいいのでしょうか?ご教授ください
- 368 名前:nobodyさん [2005/05/19(木) 22:14:38 ID:EjA+9pug]
- z57.2?-121-74.?pp.??kw?k.ne.?p:8080
z57.2?-121-74.?pp.??kw?k.ne.?pうへへ。
- 369 名前:nobodyさん mailto:sage [2005/05/20(金) 10:35:30 ID:???]
- >>367
CのCGIライブラリでも使え 検索したらあるはず
- 370 名前:367 [2005/05/20(金) 15:58:18 ID:UC8INN3X]
- >>369
CGI用のライブラリーってありますけど製作者のあくがつよすぎて理解するのが大変なんですよね・・・ なんで自分で関数から作った方がいいと思ってるんですよ・・・勉強にもなるし。
- 371 名前:nobodyさん mailto:sage [2005/05/20(金) 16:16:48 ID:???]
- >>370
だから、そういったライブラリがあるだろ。 アクが強いとか関係無しに、どういう仕組みかが分かってないから >>367のような質問をしたんでしょ? 既に動いてるライブラリのソースコードを読めば、そこに答えなりヒントがあるでしょ。 それを応用して自作すればいい。 アクが強いとか理解が大変とか言ってるが、結局、頭悪いだけじゃん。
- 372 名前:nobodyさん mailto:sage [2005/05/20(金) 16:23:25 ID:???]
- >>367
www.gnu.org/software/cgicc/cgicc.html つかっとけ。 書き込み見る限り、君のおつむじゃこれよりもまともなのを作るのは無理。
- 373 名前:nobodyさん mailto:sage [2005/05/20(金) 17:27:26 ID:???]
- >>367
www.boutell.com/cgic/ GDライブラリ開発してるところ 2.0からファイルアップロードに対応してる
- 374 名前:367 mailto:sage [2005/05/21(土) 07:08:21 ID:???]
- やれやれ・・
コード読め? 読むような質問じゃあないだろうに。あほ コード読め、コード読め、って猿の一つ覚えのような回答しかできないんだったらだまってろよ。 そのほうが百倍有益w
- 375 名前:nobodyさん mailto:sage [2005/05/21(土) 10:33:25 ID:???]
- aso
- 376 名前:nobodyさん mailto:sage [2005/05/21(土) 16:05:50 ID:???]
- >>374
読まなくていいから、パクれ。
- 377 名前:nobodyさん mailto:sage [2005/05/21(土) 17:00:57 ID:???]
- だれも「読め」とは言ってないが。
日本語は読めて、理解できるよね?理解の方がおぼつかないのかな? そういうのは十代のうちになんとかしといたほうが良いよ。本当に。
- 378 名前:nobodyさん [2005/06/02(木) 04:47:54 ID:tNFRcCbR]
- getenv("PATH_INFO")で文字列取る時に
事前に長さが分からないから異常に長いURLでアクセスされたらやばくない? と思うんだけど。 このPATH_INFOの文字列のポインタが分かればstrlenで長さを求めて弾くなり必要量mallocするなり出来るけど、 値しか分からないよね? 普通はどうやってこの問題を回避するの?
- 379 名前:nobodyさん mailto:sage [2005/06/02(木) 07:21:13 ID:???]
- getenvを使ったことがある人からは
そんな疑問は出ないはずだが
- 380 名前:nobodyさん [2005/07/24(日) 09:53:58 ID:FFgeh8au]
- 話題がないお
- 381 名前:nobodyさん mailto:sage [2005/07/25(月) 08:35:49 ID:???]
- >>378
亀さんのレスです Apache様が長いURLは規制してくれています
- 382 名前:nobodyさん [2005/07/25(月) 23:47:14 ID:bB/wQjJG]
- 自分のサイトがF5アタックにめちゃくちゃ弱いことに気づいた。
セッション管理のためにページを開くたびにMySQLに問い合わせに行ってるのですが、もっと良い方法があるのでしょうか?
- 383 名前:nobodyさん mailto:sage [2005/07/26(火) 07:44:25 ID:???]
- 防御コード書けばいいじゃん。
- 384 名前:nobodyさん mailto:sage [2005/07/26(火) 12:18:15 ID:???]
- >>382
CでMySQLへの問い合わせってどうやるの? 出来るなら今度やってみよ
- 385 名前:nobodyさん mailto:sage [2005/07/26(火) 15:24:03 ID:???]
- >>384
MySQL純正の接続ライブラリを利用するなら、 それをラップしてる他の言語で慣れてる人ならアホ程簡単。
- 386 名前:nobodyさん mailto:sage [2005/07/26(火) 20:27:09 ID:???]
- >>384
このへんだろうね。 www.softagency.co.jp/mysql/TIPS/C/connect.html dev.mysql.com/doc/mysql/ja/c.html 私もCで接続したこと無いけど。
- 387 名前:nobodyさん mailto:sage [2005/07/27(水) 15:50:58 ID:???]
- >Cで接続
(;´Д`)ハァハァ
- 388 名前:nobodyさん mailto:sage [2005/07/28(木) 07:20:11 ID:???]
- ボキもSegmentation faultで泣かされますた
- 389 名前:nobodyさん [2005/08/25(木) 07:40:55 ID:URNXAJj0]
- 以下のプログラムが思惑通りの挙動を示してくれません。
C言語でのCGIでは、forkは使えないのでしょうか? #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <sys/wait.h> int main(void) { pid_t pid; int status; printf("Content-type: text/html\n\n"); printf("<html>\n"); printf("<head>\n"); printf("<title>test</title>\n"); printf("</head>\n"); printf("<body>\n"); pid = fork(); if(pid == 0){ printf("child<br>\n"); } else{ wait(&status); printf("parent<br>\n"); } return 0; }
- 390 名前:nobodyさん [2005/08/25(木) 07:43:44 ID:URNXAJj0]
- 思惑とは、CGI実行時のHTMLソースで、
<html> <head> <title>show sFlow statistics</title> </head> <body> child<br> parent<br> と、なってほしいのに、実際実行すると、 <html> <head> <title>show sFlow statistics</title> </head> <body> child<br> Content-type: text/html <html> <head> <title>show sFlow statistics</title> </head> <body> parent<br> と、なってしまっております。
- 391 名前:nobodyさん mailto:sage [2005/08/25(木) 08:19:05 ID:???]
- stdioのバッファリング
- 392 名前:nobodyさん [2005/08/25(木) 13:08:38 ID:URNXAJj0]
- >>391
なるほど! ありがとうございます。 fflushで、解決いたしました。
- 393 名前:nobodyさん [2005/08/26(金) 20:14:39 ID:Tl6OQEOB]
- 最近C/C++CGIって廃れてるよな…
- 394 名前:nobodyさん mailto:sage [2005/08/26(金) 20:16:53 ID:???]
- あえて言おう。
廃 れ て な い 時 が あ っ た の か ?
- 395 名前:nobodyさん [2005/08/26(金) 22:30:48 ID:phIbl7Mf]
- ■■■■■■■■■■■■■■■■■■■■■■
VIPの馬鹿大学生が市役所に内定!「俺は神」「彼女二人いる」などDQN発言全開。 その後、どの市役所か特定されたような書き込みがあり、本人逃亡!!w 地元市役所に内定した俺様は神! ex11.2ch.net/test/read.cgi/news4vip/1125046666/l50 その後、公務員板にも、本人を特定するためのスレが立つww 【市役所合格】こいつ誰だかわかる? society3.2ch.net/test/read.cgi/koumu/1125051467/l50 調子に乗った馬鹿VIPPERの哀れな運命、見るだけでも見に来ない?w ■■■■■■■■■■■■■■■■■■■■■■
- 396 名前:nobodyさん mailto:sage [2005/09/03(土) 14:14:39 ID:???]
- >>393
やっぱライブラリ不足が原因だろう。 cgiccってでかい割にほとんどなんも出来ないし
- 397 名前:nobodyさん [2005/09/22(木) 00:50:59 ID:Lo9GY17f]
- 2chのCGIはCで作られている。
証拠 ↓ pc8.2ch.net/test/read.cgi/tech/1123869310/
- 398 名前:nobodyさん mailto:sage [2005/09/22(木) 01:33:37 ID:???]
- わけあって初めてC++でCGI組んでみた(普段はPHPとか)
複雑な構造のデータを処理する場合とか、やっぱり速いね。
- 399 名前:nobodyさん mailto:sage [2005/09/22(木) 07:44:47 ID:???]
- >>397
bbs.cgiはPerlだよ。mod_perlとかfastcgiとか検討されたけど今はSpeedyCGI使ってる。 read.cgiは2ちゃん閉鎖の危機のときにCのソースが公開されてgzip圧縮が追加された。
- 400 名前:nobodyさん mailto:sage [2005/09/22(木) 13:25:27 ID:???]
- Web に向いていないというのはあるけど,Web を趣味でやっている人間の技術
レベルが低いというのも原因の一つでは? # 前に read.cgi のソース見て、そのあまりの汚さに絶句したことあり
- 401 名前:nobodyさん mailto:sage [2005/09/22(木) 16:48:47 ID:???]
- はいはいすごすすごす
- 402 名前:nobodyさん [2005/09/22(木) 16:50:45 ID:WZseHGJ/]
- ついでにage
- 403 名前:nobodyさん mailto:sage [2005/09/22(木) 17:33:25 ID:???]
- 1つのバイナリで使えるOSが限られるしね。
どうしてもインタプリタ型になってしまう罠。
- 404 名前:nobodyさん mailto:sage [2005/09/23(金) 00:29:42 ID:???]
- >>400
2002年ぐらいに一度見たのは、確かにアレだったけど、 その後にちらっと見たのは、新しく書き下ろされたように結構綺麗だった。 今はどうなってるんだろう。
- 405 名前:nobodyさん mailto:sage [2005/09/23(金) 14:20:20 ID:???]
- まだソースは転がってるのか!?
- 406 名前:nobodyさん mailto:sage [2005/09/23(金) 15:38:07 ID:???]
- 今のはもう無理だと思うけど、
古いのは、ネットのどっかに転がってるかも。
- 407 名前:nobodyさん mailto:sage [2005/09/23(金) 16:23:56 ID:???]
- ここになんか沢山出てる
ttp://66.102.7.104/search?q=cache:fpFsrkBwL9YJ:sunos.saita.ma/2ch-cgi-lw.html+read.cgi+&hl=ja
- 408 名前:nobodyさん mailto:sage [2005/09/23(金) 17:29:18 ID:???]
- sunos.saita.ma/2ch-cgi-lw.html
- 409 名前:nobodyさん mailto:sage [2005/09/27(火) 19:53:24 ID:???]
- 読みにくい…
- 410 名前:javaさん [2005/10/06(木) 01:36:36 ID:9/nHwpYz]
- CGIではなくてJavaでいうServletコンテナのようなものとVelocityのようなテンプレートエンジンを探しています
ご存知ないですか?
- 411 名前:nobodyさん [2005/11/20(日) 17:08:19 ID:Va/OuDM7]
- 下がりすぎ
- 412 名前:nobodyさん [2005/11/21(月) 02:40:39 ID:/C8jg8zb]
- C言語のプログラム作成はどこですか?
- 413 名前:nobodyさん mailto:sage [2005/11/21(月) 02:50:55 ID:???]
- >>412
日本語がわからんが単にC言語のこと聞きたいならプログラム板
- 414 名前:nobodyさん mailto:sage [2005/11/21(月) 21:22:28 ID:???]
- C言語でCGIを動かす利点は何ですか?
- 415 名前:nobodyさん mailto:sage [2005/11/21(月) 21:45:27 ID:???]
- >>414
利点:既にコンパイルされてるから実行が早い。 欠点:一から作るのは死ぬほど面倒。
- 416 名前:nobodyさん mailto:sage [2005/11/26(土) 02:09:45 ID:???]
- c++ならそんな面倒でもない
- 417 名前:nobodyさん [2005/11/26(土) 12:19:56 ID:lGwtghir]
- 今日からC始めるぞage
- 418 名前:nobodyさん mailto:sage [2005/11/28(月) 21:19:30 ID:???]
- 挫折した
- 419 名前:nobodyさん mailto:sage [2005/11/29(火) 07:09:03 ID:???]
- はやっ
- 420 名前:nobodyさん [2005/12/13(火) 02:50:45 ID:0HjM7Fv9]
- windowsでのcgiの扱いの事なのですが、C言語で.作った.exeの拡張子を.cgiに変えると途端に上手く動作しなくなります。
win上ではcgiの拡張子は.exe一択になってしまうのでしょうか? 自分だけアドレスがhttp://〜/cgibin/testing.exeになるのが恥ずかしいんですけど。。
- 421 名前:nobodyさん mailto:sage [2005/12/13(火) 03:28:57 ID:???]
- >>420
httpdに何使ってるのか知らんがハンドラ変えればいいだけの話じゃないのか
- 422 名前:nobodyさん mailto:sage [2005/12/13(火) 21:01:21 ID:???]
- 普通 .cgi でもうまく動作するはずだけど……
というかネゴシエートすれ。 .exe も .cgi も恥ずかしいことに代わりはないから。
|

|