トップページphp
507コメント145KB

C言語CGI専用スレッド

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/04(金) 04:31ID:???
C/C++ CGI 専門のスレッドです。
PERL-CGI の情報はどこでも手に入りますけど
C-CGI の情報は少ないです。
C言語のCGIに関することはここに書きましょう。

スクリプトを検索できるサイトです。

http://script.lovely.to/search/home_script_c.html
http://cgi.resourceindex.com/Programs_and_Scripts/C_and_C++/
http://www.cgifiles.com/scripts/cc++/index.shtml

前スレ
http://tako.2ch.net/test/read.cgi?bbs=perl&key=971762830
0002続・元スレ2001/05/04(金) 05:01ID:Sv87XwuU
138 名前:むぎ茶 投稿日:2001/04/26(木) 08:18
http://www.mietsu.tsu.mie.jp/freak/index.shtml
CGIというよりPerlみたいなもの?
139 名前:名無しさん 投稿日:2001/04/26(木) 16:48
>>138
TOPページが異様に重いんでやめちゃった。
何のサイトなの?
140 名前:名無しさん 投稿日:2001/04/26(木) 17:36
CGIというよりPerlみたいなもの?<意味不明
141 名前:名無しさん 投稿日:2001/04/28(土) 10:34
>>138
これとC言語と何の関係が?重いので自分も途中でやめたが・・・
---------------------------------------------------------

http://www.mietsu.tsu.mie.jp/freak/freakgarden.shtml
にC++のCGIあるよ。
0003名無しさん@お腹いっぱい。2001/05/07(月) 01:25ID:Vdb34f9c
STLを使えば連想配列を作れるって雑誌で読んだのだが、
実際にCGIで使ってる人っているのかな?
0004名無しさん@お腹いっぱい。2001/05/07(月) 04:01ID:lCHmlcCs
Perlの自作掲示板をC++に書き換えたわずかな経験しかないけど、
STL(というかSTLを含むC++標準ライブラリ)は、むっちゃ便利だよ。

ただし正規表現の処理はちょっと面倒みたい。
flexなんかが使える人なら、もっと楽にできると思うのだが、
おれはflexのfの字も知らないので、元のPerlスクリプトから
正規表現をできるだけ減らして、あとは単なる文字列置換で
切り抜けました。
0005名無しさん@お腹いっぱい。2001/05/10(木) 17:29ID:???
みんなそんなに正規表現使ってるんでしょうか。
作るものによるのでしょうけど。

C++は開発環境が圧倒的に整っているのがいいですね。
統合環境でソースレベルデバッグ、ローカル変数を覗くのも簡単だし。
簡単なCGIなら、手軽にPerlで十分ですけど。
0006名無しさん@お腹いっぱい。2001/05/10(木) 21:43ID:8zuGcixU
>>5
統合環境について同意。
おれもVC++6でデバッグしてます。
でもサーバのgccが古くてSTLがダメダメだったりしないですか?
最新版のgccとlibstdc++をいれればいいとは思うんだけど
面倒でやってない。
0007名無しさん@お腹いっぱい。2001/05/11(金) 11:36ID:0Xa628kc
>おれもVC++6でデバッグしてます。
>でもサーバのgccが古くてSTLがダメダメだったりしないですか?

わー、同じやり方の人がいて嬉しい。
サーバのgccは、2.95以降が無ければ自分でいれます。
2.70だと使い物にならないよね。
0008名無しさん@お腹いっぱい。2001/05/12(土) 11:25ID:4BHhF8Kc
C++使いたいけど、なぜかサポートしてくれるISPが少ないような?
000962001/05/12(土) 14:46ID:9XwDBRCc
>>7
やっぱ古いSTLのままじゃだめっすよね。
素直に今からgcc2.95入れます。

gccのサイトを見ると、C++標準ライブラリの最新版がgcc本体と
別にあるみたいなんですが、=> http://gcc.gnu.org/libstdc++/
これも入れたほうがいいんでしょうか?

>>8
ISPがLinuxとかなら、ローカルに同じ環境を作ってコンパイルして
実行ファイルだけ上げるとか・・・。今度試してみます。
0010名無しさん@お腹いっぱい。2001/05/13(日) 04:10ID:ZfAWLiIw

fprintf( log, "REMOTE_HOST....%s <br>", getenvs( "REMOTE_HOST" ) );
fprintf( log, "REMOTE_ADDR....%s <br>", getenvs( "REMOTE_ADDR" ) );
fprintf( log, "REMOTE_PORT....%s <br>", getenvs( "REMOTE_PORT" ) );
0011名無しさん@お腹いっぱい。2001/05/13(日) 04:15ID:ZfAWLiIw
fprintf( log, "REMOTE_HOST....%s <br>", getenvs( "REMOTE_HOST" ) );
fprintf( log, "REMOTE_ADDR....%s <br>", getenvs( "REMOTE_ADDR" ) );
fprintf( log, "REMOTE_PORT....%s <br>", getenvs( "REMOTE_PORT" ) );

このようなソースでアクセス解析を行ったのですが、REMOTE_HOSTだけが
取得できません、どうやら特別な操作が必要なようですが自分にはさっぱりです。
良ければ誰かどのようにしてREMOTE_HOSTを取得するのかソースで教えてくれませんか?
0012112001/05/13(日) 04:19ID:ZfAWLiIw
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/index.html
此処のページがとても有意義です。
0013112001/05/13(日) 04:21ID:ZfAWLiIw
char *getenvs( char *str )
{
char *ev = getenv( str );
if( ev == NULL ) { ev = "none"; }
return ev;
}
さっきから多重投稿ですいません。
11のソースで使われている関数です。
0014名無しさん@お腹いっぱい。2001/05/13(日) 05:06ID:???
>>11
マルチポスト野郎は死ね。

って事でこういう馬鹿には答えない方針でいきませう。>おおる
0015名無しさん@お腹いっぱい。2001/05/13(日) 05:48ID:???
>>14
確かにマルチポストだ。レンサバ板の旧スレッドにも書いてる。

>>11
これに答えると今後しめしがつかないから。悪いね。
まあ簡単にできるんで調べてみれ。
0016名無しさん@お腹いっぱい。2001/05/13(日) 16:29ID:lOGH6AnI
>ISPがLinuxとかなら、ローカルに同じ環境を作ってコンパイルして
>実行ファイルだけ上げるとか・・・。今度試してみます。

基本的にこれだと思うけど、perlのCGIは許可しても、バイナリの実行は
許可しないISPもあると聞いたので注意。
Apacheとかそういう設定できたっけ?
バイナリでも拡張子を .pl にしたら実行できちゃったりして。
0017名無しさん@お腹いっぱい。2001/05/13(日) 16:31ID:lOGH6AnI
↑バイナリでも拡張子を .pl にしたら実行できちゃったりして。

外部のperlを呼び出してるならともかく、mod_perlみたいに組み込まれた
物だったら強制的にperlスクリプトとして処理されるか。
0018112001/05/13(日) 16:36ID:bVNqra6E
さっきは本当にすいません、十分に反省しました。

struct hostent *hptr;
hptr = gethostbyaddr( (char*)getenv( "REMOTE_ADDR" ), 4, AF_INET );
printf( "Content-type: text/plain\n\n" );
printf( "%s<br>", hptr->h_name );

何とか自分で調べて gethostbyaddr関数を使えばよいと
いうところまでは解りました。
ただ上のソースでコンパイルエラーはでないのですが
実行エラーがでてしまいます。
どうやら gethostbyaddr関数の使い方が悪いようなのですが。
自分には一番目の引数以外、gethostbyaddr関数の意味が分かりません。
もう二度とマルチはいたしませんので
どうか gethostbyaddr関数の引数、戻り値の意味と使い方を教えて下さい。
ついでにヘッダーファイル名も教えてもらえませんか。
解らないので、すべてのヘッダーを羅列しているのです。
0019名無しさん@お腹いっぱい。2001/05/13(日) 21:53ID:???
>>18
その素直さと、gethostbyaddrを自力で見つけてきた努力を
評価して答えさせてもらいます。いいですね>ここの住人

gethostbyaddrの第1引数は、IPアドレスを4バイトにパックしたもの。
たとえば"127.0.0.1"というIPアドレスなら
char addr[4]={0x7F,0x00,0x00,0x01};
↑このような4バイトのchar配列にして渡せばよい。

"127.0.0.1"のような文字列と、4バイト形式のIPアドレスを
相互に変換するinet_aton、inet_ntoaという関数もある。
ただし歴史的な事情で、これらの関数では、4バイト形式のIPアドレスを
in_addrという構造体で表すので注意。(たいていここで混乱する)

"127.0.0.1"などの文字列形式を4バイトにパックするために、
gethostbynameやgethostbyaddrの戻り値を利用してもよい。
たとえば、こんな感じ。

struct hostent *hptr;
hptr = gethostbyname( (char*)getenv( "REMOTE_ADDR" ) );
hptr = gethostbyaddr( hptr->h_addr, hptr->h_length, hptr->h_addrtype );
printf("%s", hptr->h_name);

これは最初のgethostbynameでhptrのh_addr、h_length, h_addrtypeを
取得し、それを使って今度はgethostbyaddrを呼ぶことで、h_nameを
取得しているわけ。

手元のFreeBSDでは、必要なヘッダはsys/types.hとnetdb.hだった。
これはOSによって違うかも?
そのへんは man gethostbyaddrでわかるんじゃないかな。
0020112001/05/14(月) 02:59ID:r0Z2G3wg
>>19
なんとか、出来ました。
こんな自分にも、わざわざ教えて下さって本当に感謝します。
そしてこれからも精進していこうと思います。
0021名無しさん@お腹いっぱい。2001/06/24(日) 18:36ID:65Gxh8rs
gcc-3.0が出たよ。
http://gcc.gnu.org/gcc-3.0/gcc-3.0.html
libstdc++の最新版も入ったそうなのでSTLがまともになってることを期待。
0022名無しさん@お腹いっぱい。2001/06/25(月) 00:32ID:pEls8e6Q
掲示板を作ってみたんですけど、入力文章に"「"、"」"があると止まってしまいます。なんででしょ?
0023名無しさん@お腹いっぱい。2001/06/25(月) 01:23ID:k5UlKqNo
<form method='POST' action="http://aaa/ssss.cgi">
<input type=hidden name="get" value="143242341324">
<input type=submit value="abcd">
</form>
これをTELNETで見ようと思ってもサッパリ分かりませんでした
いま将棋とオセロにはまってます
このCGIの出力結果を見るにはどんな文ををサーバーに送れば見ることが出来ますか?
詳しく分かりやすく専門用語を使わずに教えてくださいおしえてください
0024名無しさん@お腹いっぱい。2001/06/25(月) 09:52ID:???
>>23 氏ね
0025>>232001/06/25(月) 15:41ID:???
オセロと将棋って何か関係あんの?
0026名無しさん@お腹いっぱい。2001/06/26(火) 21:35ID:euzbuCB2
>>23 はバカだねえ
0027名無しさん@お腹いっぱい。2001/06/30(土) 18:41ID:???
スマソ、まったくCは素人なんだがLinuxのGCCだけで作れるものなのか?
Windowsだと金かかるのか?
初心者向けサイトにもその辺りは何にも書いてないぞ(^^;
0028名無しさん@お腹いっぱい。2001/06/30(土) 19:19ID:fH7f8wxQ
>>27
C言語でCGIを作るなら、WEBサーバと同じOS環境が必要だよ。
たとえばLinuxのGCCで作ったCGIをアップするなら、
そのCGIを置くWEBサーバもLinuxじゃないと動作しない。
WindowsのVC++とかで作ったCGIは、Windowsサーバじゃないとだめ。
0029七資産2001/07/01(日) 01:20ID:???
>>27
基本はwebサーバにftpでソースファイルを送ったあと、
telnetでログインしてコンパイルする。

Cコンパイラにどういうものを用意してくれているかは
ISPに聞いてくださいな。そこまではさすがに面倒
見きれない。
0030272001/07/01(日) 13:05ID:???
ありがとう、サーバーがLinuxだからそのままでよさそうでした
0031JAPU2001/07/01(日) 19:23ID:???
クロスコンパイル環境整えればどんなOS用でもOKという話もあり。
(面倒だけど。)
0032名無しさん@お腹いっぱい。2001/07/01(日) 19:39ID:n8uZvlf2
Windowsで動くクロスコンパイル環境ほしいー。

てゆーかGCCだとSTLのヘッダを読み込むのが遅くて困ってます。
VC++みたいなヘッダのプリコンパイル機能ってあります?
gccのマニュアルざっとみたけど見つからないの。。。
0033名無しさん@お腹いっぱい。2001/07/02(月) 01:20ID:7DkK5h6g
で、C++を使える鯖ってどっかある?
0034名無しさん@お腹いっぱい。2001/07/02(月) 02:19ID:???
>>33
ローカルでコンパイルすればいいじゃん。
まあサーバにC++関連のsharedライブラリが入ってないつー
場合もあるけど、そんなときはstaticリンクで乗り切れ。
0035名無しさん@お腹いっぱい。2001/07/03(火) 20:23ID:???
っつーかC/C++言語でCGIを書く奴はふつー自前サーバ。
仕事なら当然だが、趣味でも最近はみんな自前サーバ立ててるな。
おれもそうだ。
0036名無しさん@お腹いっぱい。2001/07/04(水) 23:58ID:RFlJOQ32
んー。flexか。ちと研究してみよっかな。
0037名無しさん@お腹いっぱい。2001/07/05(木) 00:09ID:M8XJRojU
GNU regex.c というものもあるのね。
誰か使った人いる?
0038弐ch編者2001/07/06(金) 21:14ID:???
晒し上げ
0039JAPU2001/07/06(金) 22:25ID:???
GNU のやつはしらんが、BSD 由来の方は使ったことある。
とりあえず、あまり参考にならないと思うけど輪講用に適当にでっち上げたもの:
http://www.japu.org/tmp/http.c

httpd.c の方はあまりにも汚くなったので捨てました。
0040名無しさん@お腹いっぱい。2001/07/10(火) 18:49ID:???
ちょっと質問です、CでCGIを作ろうと思ったんですがCはまったくの初心者
何か便利なモジュールとかってないんですか?
0041名無しさん@お腹いっぱい。2001/07/10(火) 18:56ID:???

とりあえず共用鯖では絶対に動かそうと思うなよ。
0042名無しさん@お腹いっぱい。2001/07/10(火) 19:20ID:???
↑なんでだよ。
許されている物を動かして、鯖が止まったならば鯖缶の責任。
0043名無しさん@お腹いっぱい。2001/07/10(火) 20:26ID:???

サイアク。
やりたいなら自分の鯖でやれ。
0044名無しさん@お腹いっぱい。2001/07/10(火) 21:53ID:???
すげー理論だ。

だいたいの鯖屋の規約には「運用に支障をきたす」云々が有るから、
鯖が止まるようなものは「許されている物」じゃねーけどな。

つことで結局、いきなり共用鯖では動かさないでね(ハァト
0045名無しさん@お腹いっぱい。2001/07/10(火) 22:09ID:???
>>44
>鯖が止まるようなものは「許されている物」じゃねーけどな。
そうだよね。
バグチェックして、鯖管にソース見せて許可貰えば
共用鯖で動かしてもいいんだよね。
それで落ちたら鯖管の責任。
# そこまで(ソース見せる)しなくてもいいとは思うけど。
# 自鯖で正常に動作すればいいでしょ。
# 責任は自分にあるけど。

と言うことで、>>42に同意。

まあ、
>>40が「いきなり共用鯖で動かす」とも、
>>41が「入念なテストの後に共用鯖で動かすのも駄目」とも、
>>42が「いきなり共用鯖で動かしても良い」とも、
「↑」が何番の発言を指すのか、とも、
全く何処にも書かれていないのですがね。
0046402001/07/11(水) 01:01ID:???
すいません、見てみたら突然こんなことになってまして
ちゃんと自鯖で動かします。
0047名無しさん@お腹いっぱい。2001/07/11(水) 01:14ID:???
># 自鯖で正常に動作すればいいでしょ。
負荷かけまくるのはダメだろ。正常に動いても。

共用鯖はローカルとは違い、他の人も使ってることを忘れずに。
ローカルでは落ちなくても、共用鯖では落ちるって事もあるから。

#負荷大きくないのに落ちたなら、鯖管の負荷計画が拙いって事になるけどね。
0048452001/07/11(水) 15:55ID:???
>>47
>負荷かけまくるのはダメだろ。正常に動いても。
うん、そうだね。
ちなみに、私は共用鯖で負荷かけまくりな物を
動かすような非常識な人間を対象に書いたつもり
じゃないです。
ここ見てる人がそんな非常識な訳がないと思う…
0049名無しさん@お腹いっぱい。2001/07/12(木) 12:43ID:djup2iK6
>>12

12のページかなり必要なネタが網羅されていていいね。
参考にしよう。
0050名無しさん@お腹いっぱい。2001/07/14(土) 16:33ID:gnTS0OVs
この情報ならここに沢山あるよ
変なURLに見えるけど内容は確か。
ttp://members.tripod.co.jp/casinoA1/
0051名無しさん@お腹いっぱい。2001/07/15(日) 23:15ID:???
ざっとCの参考書みてみたけど別に難しくはなさそうだね
参考書に書いてあった
int main(){
/*適当なくだらん処理*/
hoge();
return 0;
}

void hoge(void)
{
/*printfのなんか適当な処理*/
}

ってユーザー定義関数ではしばらくvoidを使いなさいって書いてあったんだが
コンパイルするときにhogeはintにしましょうみたいなエラーがでるんだが・・
実際にvoidを省略するとコンパイル&実行できるんだが。。。
深く考えるのはやめとくか。。。
0052名無しさん@お腹いっぱい。2001/07/17(火) 21:51ID:ZAF8cotQ
session管理age(w
0053JAPU2001/07/18(水) 12:06ID:???
1. エラーメッセージは自分で適当に解釈せず、そのまま提示しましょう。
2. プロトタイプ宣言しないと int hoge(); と見なされちゃうというお約束。
3. というか、printf 使うなら #include <stdio.h> 必要では?
0054名無しさん@お腹いっぱい。2001/07/19(木) 18:58ID:???
#include <stdio.h>
#include <math.h>

void amount(int kingaku,int nensuu,float riritu)
{
int i;
printf("金額%d円\n%d年返済\n利率%f%\n",kingaku,nensuu,riritu);

for(i = 0;i <= nensuu;i++)
{
printf("%3d 年後の元利合計 = %.0f 円\n",i,kingaku*pow((1+(riritu/100)),(i+1)));
}
}

int main()
{
int k;
int n;
float r;

do{
printf("元金の金額は?\n");
scanf("%d",&k);
}while (k < 0);

do{
printf("年数は?\n");
scanf("%d",&n);
}while (n < 0);

do{
printf("利率は?\n");
scanf("%f",&r);
}while (r < 0);

amount(k,n,r);

return 0;

}
0055542001/07/19(木) 18:58ID:???
ごめん、板間違えた
0056わ、2001/07/20(金) 03:38ID:O.8zSDuM
age
0057名無しさん@お腹いっぱい。2001/07/21(土) 10:24ID:???
あげましょうか?
0058名無しさん@お腹いっぱい。2001/07/21(土) 12:43ID:Jr0QyeiQ
Cでフォームのデコードってどうやるですか?
0059名無しさん@お腹いっぱい。2001/07/21(土) 13:49ID:HkjrzmP.
>>58

please see >>12
0060JAPU2001/07/21(土) 16:14ID:???
>>58
手前みそであれだが、こんなのもあるぞ。
http://www.japu.org/tmp/parse_query_sample.c

# フォームのデコードってURIのアンエスケープのこと言ってるんだよね?
0061名無しさん@お腹いっぱい。2001/07/23(月) 12:27ID:???
>>60のページ開けん(^^;

ところで、CでCGIってマイナーなんすかね?
>>12のページ以外でまともに解説してるサイトも文献も見つかりませんが
0062JAPU2001/07/23(月) 14:22ID:???
すまん、いまメンテ中。夕方まで待て。

一般的にCで書くと、効率はある程度上がるが思いっ切りコストがかかるからね。(Perl とかと比べて。)あと、C が使えればあとは「CGIの知識」だけで使えるから、特に「CでCGI」の解説は不要説もあり。
0063612001/07/23(月) 15:12ID:???
まってます(わら

確かにCを昔からやっていらっしゃる方には必要ないかもしれませんね
おいらのようにperlから入ってきて最近Cを学んでるものにとって
はなかなか難しいです。
必要なCGIの知識が多少あるのでそれでもまだ良い方なのでしょか?
perlでは簡単に出来たことが。。。ブツブツとは思いますが
必要な関数が揃ってしまえばCの方が楽なのかもしれませんね。
0064名無しさん@お腹いっぱい。2001/07/23(月) 16:08ID:???
厨房な質問失礼

>>12のサイトで半角カナを全角に変換する関数がありますが
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/kanjicod.html

ものすごく厨房なんですが、これの引数ってなにを入れればいいんですか?
0065JAPU2001/07/23(月) 16:11ID:???
目的が高速化なら、mod_perl / SpeedyCGI あたりを使うのが吉かもしれない。C言語にこだわるのは理由があるのだろうか...

とりあえずこっちにも置いたので、お急ぎならどうぞ:
http://www.aist-nara.ac.jp/~yasuyu-h/tmp/parse_query_sample.c
0066名無しさん@お腹いっぱい。2001/07/23(月) 17:42ID:uM3WiVLU
ボスから「Cで CGI書いて」と言われたのでー。逆らえない……
0067名無しさん@お腹いっぱい。2001/07/24(火) 12:07ID:???
>>64
ざっと見てみたが、コード変換後にそのコード用の関数を使用するみたい
なんで一通り漢字変換処理が終ってから使用すると思われ。
引数は1個目が頭1バイト、2個目が二つ目の1バイトだと思いますが
0068名無しさん@お腹いっぱい。2001/07/24(火) 12:19ID:.J0xIpNM
cgi経由でjpeg画像等を表示するのを巧くできますか?

http:www.hoge.com/hoge.cgi
でランダムに画像表示させたいのですが・・・・・

サイズが5KB程度の使い物にならない小さいファイ筆はできるのですが
10KBを超えるとうまくいきません。
原因はなんでしょうか?
0069名無しさん@お腹いっぱい。2001/07/24(火) 12:32ID:???
>>68
なぜその質問をこのスレに?

Content-type: image/jpeg

でも最初に吐き出してみれ
0070名無しさん@お腹いっぱい。2001/07/24(火) 15:29ID:???
FORMから取ってきた半角カナ文字の処理に困ってます。

>>64さんと同じ状態で
>>67さんの言われるようにやったつもりですがダメでした。

お手数ですがサンプルなどを示していただけませんでしょうか?
0071名無しさん@お腹いっぱい。2001/07/24(火) 15:32ID:???
「半角カナの処理」とやらで何がしたいのかサパーリなので誰も答えられな
いと思いますが
0072名無しさん@お腹いっぱい。2001/07/24(火) 15:44ID:4bcQgJxI
FORMタグでブラウザから送信されたデータをファイルに保存する
ということでいいのだろうか?>>70

すると半角カナの処理というものは

1.半角カナが表示できないよ どうしよう ウエンウエン
2.半角カナを全角カナに変換したいけどできないよ ワーン
3.半角カナの入力があった場合「半角だゴルァ!!」と表示させるぞ ゴルァ!!

さて、どれでしょう?

密かにどれでもないことを期待する。
0073702001/07/24(火) 18:50ID:???
SJISの半角カナを全角カナに変換したいのです。
それ以外にバケない方法があれば教えていただければ幸いです。
0074772001/07/24(火) 20:55ID:???
>>66
lex使うと正規表現扱うのがラクだYO!
0075名無しさん@お腹いっぱい。2001/07/25(水) 15:39ID:???
http://www.ra.sakura.ne.jp/~sabre/Pecker/Source/index.html

少なくとも2人はいらっしゃると思われる半角カナファンのかたへ
こういうページは見られましたか?
0076名無しさん@お腹いっぱい。2001/07/25(水) 22:14ID:sJbBeL9c
C言語でコンパイルしたhoge.exe実行ファイルを実行するとメモリエラーがでてhoge.exe.stackdumpが生成されます。
私はアセンブリを全く知らないのでこのhoge.exe.stackdumpの内容を理解する事ができません。
メモリ操作が間違ってるのだとは思いますが・・・・・
どなたかこのファイルが何を教えてくれているのか教えてください。

Exception: STATUS_ACCESS_VIOLATION at eip=00401197
eax=00000000 ebx=00000004 ecx=0254FA7C edx=00000000 esi=6107D0E8 edi=00000000
ebp=0254F818 esp=0254FAD0 program=E:\APACHE\CGI-BIN\HOGE.EXE
cs=0167 ds=016F es=016F fs=4CB7 gs=0000 ss=016F
Stack trace:
Frame Function Args
0254F818 00401197 (00000000, 00000000, 00000000, 00000000)
0254FBFC 00401197 (00000001, 04580998, 04580008, FFFFFFFE)
0254FD88 61003859 (00000000, 00000000, 4D448DCE, 00000002)
0254FDB8 61003A3D (00401064, 00000000, 81952E1C, 00000000)
0254FDD8 61003A7C (00000000, 00000000, FFFFFFFF, 00000001)
0254FE08 00406063 (00401064, 0254FC8C, BFFC9490, 0254FF68)
0254FE38 0040103D (00000000, 81952BB8, 00540000, 6C696B53)
0254FF78 BFF8B6E6 (81952DD8, 00000008, 81952BB8, 00000000)
893210 [main] hoge 1744003 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
912544 [main] hoge 1744003 handle_exceptions: Error while dumping state (probably corrupted stack)
0077名無しさん@お腹いっぱい。2001/07/26(木) 11:38ID:???
ダンプ見せられて分かる人の方が珍しい。
ふつーはソースみるかデバッガ使うかする。
0078名無しさん@お腹いっぱい。2001/08/06(月) 16:54ID:???
上記の方でいろいろされていらっしゃいますが、URIデコードで半角カナ文字
を全角カナ文字に変換までしてくれる関数はありませんか?
0079名無しさん@お腹いっぱい。2001/08/06(月) 17:13ID:???
デコードしたあとでjcode使ったらどうよ?
0080名無しさん@お腹いっぱい。2001/08/06(月) 19:40ID:???
>>76
とりあえずMAPファイル出してスタックダンプの各行がどの関数か調べなさい
0081名無しさん@お腹いっぱい。01/08/31 02:18ID:wS5jDtEg
Perlで簡単な掲示板を書けるぐらいになって、Cに乗り換えようとしています。
で、多数のテーブルデータ(1000*5ぐらいの項目数)を扱うなら
どのような手法を使うのがもっとも良いでしょうか?
5000個もファイル作ってられないし、適度に項目を連結して保存、
取り出す都度再分解、という手法で良いんでしょうか?
0082 01/08/31 04:10ID:ATY4p6wo
バイナリでも使ってください。
0083名無しさん@お腹いっぱい。01/08/31 12:06ID:yzeHKSD2
C で CGI 作ると、Perl で作るのに比べて、10倍時間がかかって、なおかつバグだらけ、というカキコがプログラマー板であった。
これは、一般的に逝ってそうなのか、それとも、そのコードを書いたやつがたまたまヘタレだったのか。
0084名無しさん@お腹いっぱい。01/08/31 12:26ID:ZHAulmbY
間違いなく時間はかかる
0085名無しさん@お腹いっぱい。01/11/03 00:20ID:Z5GZ1dPh
 こんなこと聞いていいのかわからんが・・・
 箱庭のC++バージョンのコンパイルのことで聞きたいス。

 今借りてるサーバがTELNET使用禁止なんだけど、GCCは使用可とのこと。
 こういう場合は、CGIを使ってコンパイル出来るヨ・・・って聞かされたんだけ
ど・・・。
 検索して「telnet.cgi」っていうのを見つけたけど、なんか箱庭をコンパイルでき
そうな感じがしない・・・。

 誰かわかる人います?
0086名無しさん@お腹いっぱい。01/11/03 00:22ID:???
>検索して「telnet.cgi」っていうのを見つけたけど、なんか箱庭をコンパイルでき
>そうな感じがしない・・・。

感じで決め付けるな。
00878501/11/03 00:44ID:Z5GZ1dPh
 といいますか・・・
 telnet.cgiではソースファイル拡張子の設定が一種類しかできない
ようなのでムリかな・・・と。
 箱庭C++版は「.c」と「.h」を使うので。
0088名無しさん@お腹いっぱい。01/11/03 00:55ID:???
それは悲惨ですね、ShellかperlかC、どれでも良いので少し勉強しましょう
或いは出来る人に頼みましょう。
ここでサポート出来る段階ではないです。
00898501/11/03 01:01ID:Z5GZ1dPh
 perlならそれなりにいけるんですが。
 確かにshellとCはまるでダメです。
 書籍のコンパイルの説明などをいろいろ目をとおしたけど、どれも
CGI(Perl)を使ったやり方の説明がなかったので。
 なんかいい書籍はないですかねぇ・・・。
 ご忠告感謝です。
0090名無しさん01/11/03 01:05ID:???
まあまあ、hはソースじゃ無い、ヘッダファイル
良く解らんけど、その感じだと多分エラーを捕まえて無いんだろ?
どんなcgi使ってるか知らないが適当にファイルにリダイレクトでも
しなきゃ、エラーが読めないじゃん。
で、読めたとしても、まあ悲観的に言うと8割方処理系依存で一つや二つ
エラーが出ると思うが。
それを直して、またコンパイルして・・・・
コーディングしろとは言わんが、ローカルでコンパイル位出来ないと
道は遠そうだ
0091名無しさん@お腹いっぱい。01/11/03 01:12ID:???
Cわからんのにコンパイルするなや・・・
Perlとちがって低いとこまでいじれるから,
問題起きた時大変だよ。
それが原因で鯖トんだりしたら,85氏の責任。
いろいろ請求されたりするかもしれん。

鯖名・telnet.cgi・GCC・.hとかで検索かければ,
先人がなにか書いてるかもね。
00928501/11/03 01:43ID:Z5GZ1dPh
 え〜と・・・
 まだコンパイル自体してないんです。
 telnet.cgiについてもよくわかっていないので。
 あせらずオイオイ勉強していくことにします。
 お二方のご助言感謝。
0093名無しさん@お腹いっぱい。 01/11/03 01:45ID:???
取り合えずCygwinでも入れれば?
タダだし、暇つぶしにはなると思うよ
PERL分かるなら、コマンド投げてる所の下にでも system ("$hoge 2>>./error.txt");
とでも書いてerror.txt置いとけばメッセージは読めるよ(読みにくいけど。。)
0094名無しさん@お腹いっぱい。01/11/03 02:04ID:???
まだやって無いのカー (-▽- ;)
http://www.cygwin.com/
WINでUnixLIKEなシェルが使えるよ、これでしばらく遊べば
後は同じ事をサーバでやるだけだから・・・・
コケた時にSTDERRを上手くキャッチするこってす
00958501/11/03 09:29ID:m85yJ//j
 なるほど・・・cygwinでシェルのお勉強ですね。
 では早速試してみることにします。

 それにしても質問が激しくアレだったので「厨房氏ね」とかいう
レスを覚悟してたら・・・親切なレスついて嬉しいス。
 これからはCとshellの勉強に励む事にします。
 みんなありがと〜。
0096名無しさん@お腹いっぱい。01/11/08 18:55ID:???
CとPHPどっちがいいの?
0097名無しさん@お腹いっぱい。02/01/15 13:27ID:NbvxSmgA
やっぱCだと一旦コンパイルすればインタプリンタ系に比べれば
速いor転送量・サーバ負荷が軽減されるぜ!がんばれ!
0098名無しさん@お腹いっぱい。02/01/15 13:45ID:???
>>97
「転送量」は吐き出すモノによって変わるものだから、
C でやろうが Perlでやろうが同じです。
0099名無しさん@お腹いっぱい。02/01/15 15:01ID:8PDDHsp4
ちょっと質問よろしいでしょうか?
C言語でのCGIの場合、領域の確保が問題に思えます。
相手がどこまでのサイズのデータを送信してくるかわかりませんし。
送信フォームでサイズ指定をしても、悪意を持ったものに
不正なサイズの大きなデータを送られたら、領域に指定した
サイズをオーバーしてしまうように思えます。
リファラーなどで制限しても、それくらいはどうにでもなりますし。
かと言って、無闇に初期化する領域を大きくしてもメモリの無駄に感じます。

皆さんはそのような事に対してどのような対策をとっておられるのでしょう?
C言語の勉強をしているのですがどうにもそこで詰まってしまって・・・。
どうか、どなたかご教授ください。
0100日下部圭子 ◆ib749tYo 02/01/15 15:42ID:???
In article >>99, 名無しさん@お腹いっぱい。/99 wrote:

> C言語でのCGIの場合、領域の確保が問題に思えます。
> 相手がどこまでのサイズのデータを送信してくるかわかりませんし。

malloc()やrealloc()を使って動的に確保するのが一般的でしょう。
データの最大長が数十キロや数百キロ程度なら、固定長で確保しても
問題ないと思いますが。

> 送信フォームでサイズ指定をしても、悪意を持ったものに
> 不正なサイズの大きなデータを送られたら、領域に指定した
> サイズをオーバーしてしまうように思えます。

Cに限らず、どのような言語でもデータ量の上限チェックは入れる
必要がありますよ。

# CGIだと、Webサーヴァーのほうで制限してくれるのかな?

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
01019902/01/15 16:21ID:???
親切な回答ありがとうございました。
malloc関数はこういう時に使うのですね。
今まで色んな所でsizeof演算子と組み合わされているのを見てきたのに
いまいち良くわかっていなかったのですが、ようやく理解できました。
これから色々試しながら勉強していこうと思います。(もちろんローカルで)
勉強になりました。
本当にありがとうございます。
0102名無しさん@お腹いっぱい。02/01/16 09:04ID:b610iUlz
>>101
関数の中で realloc 使うときはよく注意すること...

int *ptr, *tmp;

ptr =(int *)malloc( sizeof( int ) * 10 );
tmp =(int *)realloc( ptr, sizeof( int ) * 30 );

なとき、ptr == tmp とは限らないので。

void extend( int *array, size_t len )
{
int *tmp;

tmp =(int *)realloc( array, sizeof( int ) * len );
}

とかやってると、はまる。

void *ptr;

ptr =(int *)malloc( sizeof( int ) * 10 );
extend( ptr, 30 );
memcpy( ptr, "hello, world!", 14 ); /* SIGSEGV だったりして */
0103    02/01/16 09:28ID:???
. ∧   ∧
( ´ ・∀・`) へー
0104名無しさん@お腹いっぱい。02/01/16 10:58ID:???
>>102 Call by value って知ってる??
0105名無しさん@お腹いっぱい。02/01/16 15:13ID:LEH3ezMV
>>103
死ね
0106名無しさん@お腹いっぱい。02/01/16 21:07ID:???
バッファの問題、文字コードの問題その他を一気に解決するにはC++.
以降をおすすめします。malloc/reallocおよびポインタ演算は
普段は使わなくなります。オーバーフローもなくなります。

string s;
char ch = 'A';

if (s.size() < LIMIT) s += ch;
0107名無しさん@お腹いっぱい。02/01/19 00:11ID:???
日下部圭子タンがこんなところに・・・・
0108名無しさん@お腹いっぱい。02/02/06 23:01ID:???
救済sage
0109名無しさん@お腹いっぱい。02/02/07 09:50ID:???
>>104
realloc は必ずしも元のアドレスを維持するとは限らないって話なんじゃないの?
なにか勘違いしてると思われ。
0110名無しさん@お腹いっぱい。02/02/17 21:03ID:???
保全sage
0111名無しさん@お腹いっぱい。02/02/18 10:00ID:9k5avLiX
111。
保全ageでもいいんじゃないの?
もっとも、このネタだったら、プログラム板の方がいいかもしれないけど。
0112名無しさん@お腹いっぱい。02/02/18 19:30ID:???
C初心者だけど、挑戦してみようかなぁ・・・
あちこち回って勉強して、ソース書いてここで晒したらアドバイスもらえますかね??
とりあえず参考になるようなとこググって来ます。
0113名無しさん@お腹いっぱい。02/02/18 21:12ID:9k5avLiX
がんばれ
0114名無しさん@お腹いっぱい。02/02/18 21:14ID:???
>>112
Cでコンソールアプリ書けたらCGIは簡単だ。ファイト。
0115名無しさん@お腹いっぱい。02/02/21 09:01ID:???
デバッグ出力をちゃんとファイルに書き出すようにね。
0116nobodyさん02/04/05 13:52ID:???
>>112
同じく。perl知らないしCはまあ読める程度だけどおいらもがんばるよん

・・・って、数カ月ぶりの投稿かよ!あらら。。
0117nobodyさん02/04/07 11:18ID:???
おはつです
CでCGIを書こうと奮闘しているのですが
(鯖はrimnet、OSはFreeBSD Ver.3改)
とりあえず書いたら、IEでは問題ないのだけど
NS4.7/6.2で見ようとするとError500 Internal Server Errorでます
原因がわかりません。
教えてください
ttp://members.tripod.co.jp/mod5/enter.c.txt
0118nobodyさん02/04/07 23:34ID:???
>>117
原因とは関係ないんだけどいくつか

・グローバル変数はグローバルである必要がなさそう
・exit(1);って何で1なのか
・getenv("HTTP_COOKIE")は2度も使う必要はないのでは
・mallocで確保したcookieの領域がfreeされてない
・exit()で終了させる前にヘッダを吐いてないとサーバーエラーになるはず
・コンパイルするとキャスト関係で警告が20個近く出る

そういったところをまず直した方がいいんじゃないかな
011911702/04/08 00:03ID:???
>>118
ありがとうございます
一つずつなおしていきます
0120        02/04/11 15:40ID:SIU7X4Sv
C言語でCGIを作成する時に参考にする良い書籍はないでしょうか?
書店に行っても9割方Perlの本なので・・・。
スレッドも、Perl、Ruby、phpはあるのですが、CのCGIは無かったので。
0121nobodyさん02/04/12 09:56ID:???
何らかのCGI本「CGIとは何か」を学べば、実のところ言語なんて関係ない。
0122nobodyさん02/04/12 09:56ID:???
失敬
s/何らかのCGI本/何らかのCGI本で/
0123nobodyさん02/04/12 15:52ID:???
>>120
C言語の本があれば特に問題ないかと
本で読むより検索で調べたほうが速いと思うので(タダだし)
「C言語 CGI」でgoogleにかければ出てきたような気がする
0124nobodyさん02/04/13 03:12ID:???
>>120
既出だと思うけど
http://www2k.biglobe.ne.jp/~motoi/cdecgi.html
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/
上の2つ+C言語の本1冊で作れるようになるはず。
URLデコードと文字列操作がperlよりも面倒なんだけど、それができ
ればまぁ大丈夫だと思う。
0125nobodyさん02/05/02 00:48ID:4Q8ZAUDc
>>1
前スレ
http://tako.2ch.net/test/read.cgi?bbs=perl&key=971762830

って、404 になるんですが、前スレはどこですか?
0126nobodyさん02/05/02 00:50ID:???
ばーか
0127nobodyさん02/05/02 01:08ID:3IS6vFPb
>>125
http://tako.2ch.net/perl/dat/971762830.dat
012812502/05/02 05:01ID:???
>>127
ありがとう。html になってから読みに行きます。

012912502/05/02 06:07ID:???
っと、思ったら .dat でも読めますね。
フォーマットも簡単そうだし、自分で整形してみます。
0130void()02/05/02 07:09ID:???
CでCGIつくるのとperlで作るのどっちがいいの?
0131nobodyさん02/05/02 08:22ID:???
>>130
一長一短
0132nobodyさん02/05/02 12:26ID:???
こんなスレあったのか。
C言語で頑張るのもいいけど、C++でSTL使うと物凄く楽だよ。

>>130
CもPerlも両方使えるならPerlの方が楽。実行速度以外ではほとんど全ての点で勝ち。
Cは知ってるけどPerlなんてしらねーよって場合はCの方が楽。
ただ、Cが使えるサーバが少ないんだけど。使えても使えるとは書いてないのが普通。
書いてないサーバだと、たとえ使えたとしても使っていいのか管理者に聞いた方がいいよ。

sourceforge.jpは使えるみたいだね。なんか説明読むとめんどくさそうだけど。
0133Perl厨02/05/02 12:53ID:???
実行速度もmod_perlを利用すればそれほど差は無くなるんだよな。
よってPerlの勝ち。

=====終了=====
0134void()02/05/02 16:14ID:???
なるほど。うーん。perlか。
0135nobodyさん02/05/03 02:18ID:DZDxEQpQ
C: 包丁
Perl: 皮剥き器
0136nobodyさん02/05/03 03:23ID:???
日本刀くらいかも>C
日本刀でジャガイモの皮を剥く感じ。
0137nobodyさん02/05/03 03:26ID:???
Cって今どういうのに使われてんの?
0138nobodyさん02/05/03 03:42ID:DZDxEQpQ
>>136
さすがに大げさすぎるでしょ。
せめてサバイバルナイフで髭を剃る、ぐらいで。

>>137
なんでもあるよ。認知度が低いだけだと思う。
GTK, SDL, OpenGL, libxml, あたりで検索してみて。

昨日から CGI 勉強し始めたけど、もうほとんど理解したよ。
スゴク少なかったのね、CGIって。もっと大げさなもんだと思ってた。
このスレが廃れている理由を理解した。(W
0139nobodyさん02/05/03 08:35ID:???
>>137
組み込みシステムとかで現役。
0140nobodyさん02/05/03 08:52ID:???
Cで普通にプログラミングしてる奴には、質問するほどの事がないんだよね。

>>137
意外といまだにCも多いよ。ゲーム系はほとんどC。素人の方がC++使ってる。
あと、組み込み系はコンパイラが無くて仕方なくCだね。
0141nobodyさん02/05/03 09:24ID:???
>>140
C++なんて実装したら貴重なりソースが消滅しません?
0142nobodyさん02/05/03 10:34ID:???
最近Perl止めてC言語勉強し始めたけど、
他の人が言ってるほど難しくないね。結構Perlと
似てるような文法も多いし。
0143nobodyさん02/05/03 10:41ID:???
>>142
だれがCを難しいと・・・?
まぁ、リファレンスわかってればポインタもかろうじてわかるでしょう。
0144nobodyさん02/05/03 12:27ID:???
グループウェアの CGI で、Perl でプロトタイプつくって、
Perl だとソースでちゃうし、インストールがややこしいので、
C で書きなおして、オブジェクトで販売してるって話聞いたけど、
みんなそんなことしてるの?
0145nobodyさん02/05/03 12:41ID:???
( ´_ゝ`)
0146nobodyさん02/05/03 22:50ID:???
>>142
わかりにくいのはポインタと構造体だけだと思うけどね・・・
0147nobodyさん02/05/04 12:33ID:???
>>146
ポインタはともかく構造体って難しい?
0148nobodyさん02/05/04 17:55ID:???
構造体は以外と詰まる人が多いみたいよ。
好きに作れちゃうところがかえって混乱しやすいみたい。
014914602/05/04 18:02ID:???
>>147
自分が詰まったところです。。。
0150 02/05/04 22:45ID:???
アセンブラに比べれば極楽だよ。
あははは(゚д゚)
0151nobodyさん02/05/04 23:53ID:???
じゃあ、共用体とか言ったらパニック?
0152nobodyさん02/05/05 13:43ID:???
構造体は難しいというより、初心者には使い道がわからないと思う。
共用体は実装の都合とかの、どちらかというと汚い部分で必要になるから、
初心者に教える必要ないよなぁ。エンディアンに依存しないプログラムを
書く場合なんかには便利なんだが。
0153nobodyさん02/05/07 18:11ID:iiKjSr3S
>>138
ソースうp汁!
0154nobodyさん02/05/08 11:03ID:???
>>148
実用的なプログラムを組もうとすると、構造体にもポインタを使うから、理解が進まないうちは、
エラーメッセージが出てもどう対処してよいかわからない、ということでは?
0155nobodyさん02/05/11 11:01ID:???
C&Perl 5によるCGI入門

http://www.amazon.co.jp/exec/obidos/ASIN/4795296960/qid=1021082069/br=1-12/ref=br_lf_b_12/250-0136950-8331429
0156nobodyさん02/07/17 12:01ID:???
>>155
アジソン・ウェスレイはいい本出してるなぁ。
0157nobodyさん02/08/02 00:19ID:???
age
0158nobodyさん02/08/05 00:11ID:mlKhZTXH
ファイルポインタを使って円の面積を計算するプログラム、教えてください。
ファイルポインタには半径1から10の数値があります。
出力結果は次のようになるようにして下さい
半径 面積





10

0159nobodyさん02/08/05 00:30ID:???
>>158
マルチはうせろ!
0160nobodyさん02/08/05 03:29ID:???
課題は自分でやろうね。
0161nobodyさん02/08/13 16:54ID:???
うーん活気がない。やはりPerlに押されっぱなしか。
しかし暗号のような変数を多用するPerlに不快感を感じる人には
それほど悪い選択ではないと思うが。
0162nobodyさん02/08/13 17:18ID:???
>>161
この辺がCの限界って感じ?
0163nobodyさん02/08/13 17:21ID:???
>>161
暗号のような変数を多用するPerlの方がわかり易い体なのでCのほうが実は不快。
0164nobodyさん02/08/13 17:31ID:???
うちの鯖Cコンパイラが使えないんだよなぁ・・(鬱
0165nobodyさん02/08/14 11:37ID:???
文字が中心であるWWWにおいて、
つねに「文字列の扱いには難がある」と評されるCが使いづらいのは、
当然といえば当然だな。
0166nobodyさん02/08/14 12:29ID:???
ライブラリ使わないからだろ
素のCなんか使ってられるかよ
精気表現もガベコレもstringライブラリも有る
つーか++ならSTLが有るだろ
0167nobodyさん02/08/14 21:11ID:???
C言語でつくるCGI入門って本出てたけどどう?買った人いる?
0168nobodyさん02/08/15 12:00ID:???
普通のCで質問なのですが、FtpCommand関数を使ってサーバーにあるファイルの
パーミッションをゲットするにはどうすればいいのでしょうか?
0169nobodyさん02/08/15 15:00ID:???
>>166
そう、そこだ!長年ため込まれてきた遺産が、不当に低く認識されている!
膨大なライブラリを活用すればC/C++でも自由なウェブプログラミングができる!
さて
>  精気表現もガベコレもstringライブラリも有る
ということなので、みなさんの知っているウェブプログラミング向けライブラリを
知らせあいましょう。
0170nobodyさん02/08/15 18:49ID:???
>>168
ちょっと返事がないからってスレ立てるなヴォケ。逝ってよし
0171nobodyさん02/08/15 18:55ID:???
>>168
まず立てたスレの削除依頼を出してこい。その後なら答えてやらんこともない。
0172nobodyさん02/08/15 19:06ID:???
CGI で学ぶ C++
http://www.matsusaka-u.ac.jp/~okumura/cplusplus/
0173nobodyさん02/08/16 00:03ID:???
>>170-171
知らねー奴に聞いてねーYO
0174nobodyさん02/08/16 00:08ID:???
まず立てたスレの削除依頼を出してこい。その後なら答えてやらんこともない。
0175nobodyさん02/08/16 04:26ID:???
>>169
取りあえず、知ってるのだけ

ガベコレ
http://www.hpl.hp.com/personal/Hans_Boehm/gc/

Perl5コンパチ精気氷原ほか
http://www.hi-ho.ne.jp/babaq/index.html

つーかC LIBRARYでぐぐればゲソゲソ出て来るよ
0176nobodyさん02/08/19 11:40ID:???
Cでメーラーもどきを作っているのですが、そこでちょっと質問
受信したメールの日時は
「Date: 13 Feb 2002 15:26:45 +900」の行でいいと思うのですが、
これが、下のように
「Date: 13 Feb 2002 15:26:45 -0000」ってなっているばあいは
時間が違うみたいなのですが、これはどういうことなのでしょうか?
日時を正しく取得する方法を教えて下さい。
0177nobodyさん02/08/20 17:23ID:0juDwDMi
タイムゾーンが、UTC(GMTか?)になっているってことですよね?
そのまま9時間足して、JSTでそろえるようにすればいいんじゃないですか?
簡易メーラーなら。
0178nobodyさん02/08/21 01:11ID:6KjI3tpo
>>167
> C言語でつくるCGI入門って本出てたけどどう?買った人いる?

これ、絶対に買ってはいけません。

サンプルコードがバッファオーバーフローのことを全く考えていないんで、
この本を参考に作ったサイトはあっという間にクラックされちまいますよ。

# 即刻、廃刊にしる!!
0179nobodyさん02/08/21 13:41ID:???
入門書籍ってのはそういうもんだ。
サンプルコードは本質がボケないように、極端にシンプルにする必要がある。

マニア向けなら違うけど。


とは言っても最低限注意書きなりは欲しいけどな。
0180nobodyさん02/08/23 15:30ID:???
いや、このご時世では、セキュリティに配慮のないサンプルは
サンプルとはいえないでしょ。
ここを強調表示して、CSS使って、...よりも、セキュリティ対策のためには
どういう点を厳守すべきか、そういうことを本にするんじゃないのか?
その本にバッファオーバーフローの危険があるのが本当なら、絶対買うのはやだな。

# 廃刊にしる!!
018117902/08/28 18:03ID:???
じゃぁ入稿よろしく。
018217802/09/01 15:37ID:???
>>179
> 入門書籍ってのはそういうもんだ。
> サンプルコードは本質がボケないように、極端にシンプルにする必要がある。

長さチェックを全く行なわずに
strcpy(buffer, getenv("QUERY_STRING"));
なんてことをするコードが何の注意書きもなく載っている本が
入門書としては最適なのですか?
0183nobodyさん02/09/02 20:45ID:???
そーじゃなくてさ、「CでCGI入門」みたいな書籍で全て説明する必要は無いし、
その書籍だけで全てを知ろうとするのがそもそもの間違と信じている。

餅は餅屋。内容が重複してちゃ存在価値が薄れるじゃん。
必要なら「C言語」を学習するための本。
「CGIを使う」を学習するための本。
「Cのセキュリティ上の落とし穴」を学習するための本、
を夫々読むのがスジじゃないかな。

ってゆーか今の子ドキュメン読まなさすぎ。
0184nobodyさん02/09/04 10:48ID:???
すみません、ちょっと教えて下さい。
FTPコマンドでNLSTやLISTコマンドを使った時に
年が表示されないのですが、これらのコマンドを使って
年を表示する方法を教えて下さい。
0185nobodyさん02/09/04 14:16ID:???
>>184
スレ違い
というより板違い。
0186nobodyさん02/09/07 14:44ID:iZ4CJlp8
> C言語でつくるCGI入門って本出てたけどどう?買った人いる?
買ったよ…。何かこう、中途半端な本だね、入門というなら「CGIブック」(インプレス)
の方がわかりやすいし、ああいったサンプルコードを書き集めてお茶を濁した
本ってのは、「CGIブック」なんかにくらべると、100分の1程度の手間暇
しかかかってないんじゃないかな。
018717802/09/08 22:29ID:mo1pPOwI
>>183
> そーじゃなくてさ、「CでCGI入門」みたいな書籍で全て説明する必要は無いし、
> その書籍だけで全てを知ろうとするのがそもそもの間違と信じている。

そりゃね、たとえば「strncpy()の落し穴」のようなネタはCGIの入門書で
扱うような内容じゃないが、だからといって危険なサンプルコードを
放置していいわけがない。
素直にsnprintf()とかを使えばいいじゃないか。
# 「snprintf()は移植性がない」なんてほざく馬鹿の意見は却下。
# C99の仕様書でも読んでこい。

しかもこの本、buffer overflowのことはかけらも気にしていないくせに、
「顧客の情報を守るために通信路を暗号化しましょう」なんていって
OpenSSLの解説をやってたりする。
著者にはいっぺん首吊ってもらいたいもんですな。

> 餅は餅屋。内容が重複してちゃ存在価値が薄れるじゃん。
> 必要なら「C言語」を学習するための本。
> 「CGIを使う」を学習するための本。
> 「Cのセキュリティ上の落とし穴」を学習するための本、
> を夫々読むのがスジじゃないかな。
>
> ってゆーか今の子ドキュメン読まなさすぎ。

もはや何を言いたいのかよくわからんが、今の子がドキュメントを
読もうと読むまいと、百害あって一利なしの悪書が本屋に並んでいることを
正当化できるわけがない。
0188nobodyさん02/09/08 23:31ID:+zFpDOv1
素人の質問なんですが、なんでわざわざCでCGI書くの?
今時のサーバリソースで実行性能が問題になるような処理をさせてるの?
0189nobodyさん02/09/08 23:42ID:???
速い、ってのがあるだろな。
0190nobodyさん02/09/09 00:16ID:???
でもforkのコストも馬鹿にできないからなあ。
(Cに限らずCGIそのものの問題だが)
019118802/09/09 01:29ID:???
>>189
いや、速さが表面化するような処理をさせてるの?って質問なんだが。。
0192nobodyさん02/09/09 03:13ID:QjoBptHP
C言語は早いという幻想を持った人が多いからねー
>>190 も言っているがforkのコスト大きすぎて実際の速度は出ないと思うんだが
簡単な実験をしてみたがmod_perlに移行した方が数段早かった
C言語で書く利点てまったくないといいきれるんだがどうだろうか?
主要部分のみCで記述してPerlのでXSでつくるって話しならわかるんだが
そのへんどうよ?
019318802/09/09 04:13ID:???
>>192
まあ仮にCGIでminimaxな最善手探索とかオンザフライ動画レンダリングとかを
するってんならCを選択するのもわかるのよ。ただフツーの掲示板なりを作るのに
Cを使うってのはいまいち理解できないなあ、と。実際mod_perlの方が圧倒的に速いだろうし。
あとCが役に立つといえば>>144が言ってるような商用配布時のソースコード秘匿性もあるね。
っていうかPerlのB::Bytecodeってどれくらいsecureなのかな…(スレ違い
0194nobodyさん02/09/09 15:04ID:???
C99じゃ移植性が高いとはいえないな。
0195nobodyさん02/09/19 23:01ID:0POzpo3L
>>188
単純に「Perlが嫌い」ってのが実際は一番の理由かも。少なくとも俺はそう。
スクリプト言語のいい意味でのいい加減さが我慢できないのよ。
0196nobodyさん02/09/19 23:56ID:8HqC53rG
>>188
使い慣れてるからかな。
わざわざPerlやJAVAで書くより悩まずに書けるから。
0197 02/09/19 23:59ID:dJIVcLdc
http://www.430.jp/rak2/user/ryuugasakikaori/
0198nobodyさん02/09/20 01:32ID:7PCzcn/3
Perlを覚える暇があったら今使えるCで書いた方が早いや。
0199nobodyさん02/09/20 01:47ID:???
とあるPJで、
「Disk容量が無くてPerlをインストールできないのでgccで」
ってサイト構築注文してきた客もいたな・・・(藁
0200nobodyさん02/09/20 10:11ID:???
gccをインストールする容量はあるのか(笑)
0201ヘタレ02/09/21 08:05ID:bP6NWhuv
今までサンザンCでCGI作ってライブラリが死ぬほどあるので意地でもCで書く。
Perlでコード書いたらCの4倍時間がかかったよ・・
だけど10万回/日呼ばれるようなときは極力PHP。
Cだとさ、納品したあとにメンテの仕事も返ってくるしね藁
0202nobodyさん02/09/21 17:52ID:???
10万access/day ぐらいで弱腰になってるあたり
本格的にヘタレですな。
0203nobodyさん02/09/29 18:35ID:???
 
0204nobodyさん02/10/01 07:01ID:Z6ElLKVQ
他人のあげあしとるばっかりでさぁ、なんかこう、前向きな話ってないのココ?
0205nobodyさん02/10/11 23:07ID:???
PHPは糞。mod_phpよりmod_perlのほうがいいよ。
0206nobodyさん02/10/12 13:56ID:Imn3RhVX
質問しますがC++とC言語って違うのでしょうか?
Perlは慣れたので、次は負荷が少ないCに挑戦しようと思っています。
0207nobodyさん02/10/12 14:00ID:???
>>206
そういうことは検索すればわかること、それができないようじゃPerlもまだ
慣れていない証拠です。あきらめましょう。
0208nobodyさん02/10/12 14:04ID:Imn3RhVX
>>207
すいません、楽しようとしましたっす。
EmEditerで作れるのですかね?<<これも検索すれば分かりそうですがめんどい。
0209nobodyさん02/10/12 21:47ID:jE9qd2Kn
>>208
ソースプログラムはテキストエディタならなんでもつくれるけど、コンパイラが必要だろ。
021002/10/12 22:17ID:8p73bQxO
http://mbspro5.uic.to/user/sirokuma.html
0211nobodyさん02/10/12 22:20ID:???
>>210
早速いっぱいきてくれたみたいだな(ワラ
http://analyze.fishbowl.rm.st/sirokuma/viewlog.cgi
0212nobodyさん02/10/22 01:29ID:P9Bsd0yw
http://cgi-ml:cgi-ml@ns3.yt.com/ml/cgi/htdocs/45900/45941.html
ここで出てるlibapreqってライブラリは何処でゲトして、どうつかうもんなんすか?
0213nobodyさん02/10/22 08:29ID:???
>>212
Apacheのページ
0214nobodyさん02/10/22 10:27ID:???
パスワードで守られてるページをパスワード晒して直リンするなよ。
不正アクセス幇助になるぞ。
0215nobodyさん02/10/22 10:41ID:???
>>214
そこのパスは公開されてるので
http://forest.ne.jp/cgi-ml/#archives
0216nobodyさん02/10/23 14:41ID:???
>>214
ユーザー名とパスワードが同じだという時点で気づけよ馬鹿。
0217nobodyさん02/10/23 15:13ID:K0XHy0bK
IISのサーバーでVCで作った.exeを.cgiに変えてマッピングしたいのですが
何に関連付ければいいのでしょう?関連付けなくても動くのですが、関連付けして
いろいろ弄くりたいことがあるので。
.htmなのに動くってのがやりたいんですけどね。
何をマッピングすればいいかしりませんか?
0218nobodyさん02/10/23 15:17ID:???
>>215-216
法律知らん馬鹿発見
0219nobodyさん02/10/24 00:03ID:???
>>218
日本語すら読めない奴発見
0220nobodyさん02/10/25 10:29ID:???
sage
0221nobodyさん02/12/09 16:47ID:???
age
0222nobodyさん02/12/19 12:09ID:???
保守
0223nobodyさん02/12/19 18:08ID:???
誰かCでCGI.pmみたいなヤシを作って下さい。
Jcode.pmみたいなヤシもあると尚よし。
ついでにflexより使いやすいヤシを(略
0224nobodyさん02/12/19 18:34ID:???
>>223
探せよ
どっかにある
0225nobodyさん02/12/19 21:06ID:???
晒しsage
0226nobodyさん02/12/28 22:04ID:???
http://unit.aist.go.jp/it/knoppix/
このLinux使ってる人いる?
インストール無しでCDからブートするらしいんだけど・・・
これはgcc使えるのかな?
0227山崎渉03/01/15 13:39ID:???
(^^)
0228nobodyさん03/02/06 22:43ID:Ees+uVm0
こんなスレあったんだね。

誰か C server pages 試した人いる?

http://www.cserverpages.com/
0229nobodyさん03/02/09 17:26ID:EtIIPgPf
age
0230nobodyさん03/02/09 17:35ID:1TRrrOGt
デカビタC(スィー)!
0231nobodyさん03/02/17 15:43ID:9IVn4w0y
誰かC-CGIとFlash6との連携について詳しい人もしくは、
詳しいHP知りませんか?
文献が少なすぎる・・・
0232nobodyさん03/02/17 16:15ID:3ePvbUyl
>>231
文献もへったくれも

クライアントサイドで動いてるFLASHがCGIという共通のインターフェースにリクエストを投げるってことじゃないの?
動的に生成とか言われたらごめんなさいと言うけれど。
0233あぼーんNGNG
あぼーん
0234nobodyさん03/02/17 16:24ID:???
>>231

http://www.shoeisha.com/book/Detail.asp?bid=1420

ヒントがあったYO
0235山崎渉03/03/13 17:15ID:???
(^^)
0236nobodyさん03/04/13 15:40ID:0J1bdcOr
age
0237山崎渉03/04/20 06:27ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0238nobodyさん03/04/21 02:35ID:???
保守age
0239山崎渉03/05/22 02:08ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
0240山崎渉03/05/28 17:17ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0241nobodyさん03/06/25 16:36ID:qllDmcWl
すみません。他スレでは反応が乏しいので、こちらにも質問させてください。
WindowsXP Pro.(SP1)でIISの機能を使ってCGIを動かそうとしています。
仮想ディレクトリにcgi-binという名前を付けて、
そこにCで作ったCGIを置いています。
そのディレクトリには、「読み取り」「書き込み」「ログアクセス」
「このリソースに索引をつける」の属性を設定し、
実行アクセス権に「スクリプト及び実行可能ファイル」を指定しています。
フォームからCGIにデータをPOSTし、そのCGIでサーバー上のディスクに
(とりあえずCGIと同じディレクトリに)データを保存するという処理を
実験しているのですが、どうにもファイルに書き込むことができません。
ファイル名は間違っていません。そのファイルはリードオンリーでは
オープンに成功するのですが、上書きですとなぜかオープンに
失敗するという現象が発生します。エラーステータスは「アクセス拒否」です。
これが違うマシンだと成功したりしているので訳がわかりません。
もちろん環境等の違いも考えられますが、ディスク容量が異なるとか、
ビデオカードが異なる、程度の違いなので実質、問題はないと思います。
自分としては設定は間違っていないと思うのですが、
どういうことが原因かいまだにわかりません。
まだ見落としていることがあるかもしれませんが、
3日寝ていないので限界です(w
どんな些細なことでもかまいませんので、
思い当たることがありましたらご教授願います。
どうぞよろしくお願いいたしますm(_ _)m
すみません、寝かせてください(o_ _)o
0242nobodyさん03/06/25 20:13ID:???
寝かせてくださいがネタだということはわかった。
0243nobodyさん03/06/25 22:49ID:HLoZFQ5c
みんなつめてーな。
0244nobodyさん03/06/25 23:01ID:ditqLHgC
このホストでは、しばらくスレッドが立てられません。
またの機会にどうぞ。。。
0245nobodyさん03/06/25 23:17ID:ditqLHgC
 Fortran の言語 判る方います?
0246nobodyさん03/06/26 02:04ID:yQ4DcaDX
わかったけど教えなーい。
0247C--03/06/26 14:22ID:Isdi0Ivs
エラーメッセージと警告メッセージとリンクエラーの
違いって何なんですか???

分かる人教えてくださいまし〜川o・-・)
0248nobodyさん03/06/26 20:30ID:???
>>247
エラー:どうしようもない。
ウォーニング:何とか出来んことはないが何が起こっても知らんぞ。
リンクエラー:ここにB-12をはめるなんて書いてあるけどBランナー入ってねぇよこのデンドロビウム!
0249nobodyさん03/06/27 23:30ID:???
ランダムにバナーを表示させるCGIをCで描きたいのですが
仕組みが良く分かりません。
IMGタグを含んだHTMLをSSI?なんかで
呼び出して出力していうのでしょうか。
それともIMGタグのsrc=""にCGIのPATHを記述し
イメージそのものを返しているのでしょうか。
0250nobodyさん03/06/27 23:42ID:???
好きなほうをどうぞ
0251nobodyさん03/06/28 16:23ID:???
たかい
0252nobodyさん03/06/29 00:40ID:vSfHVOsC
CGIでサーバーのディスクにデータを書き込みたいのですが、
Cの標準関数でその処理をやっていいものなのでしょうか。
それとも、定番的な方法が他にあるのでしょうか?
0253nobodyさん03/06/29 00:45ID:???
CでCGIやると暴走して
サーバ会社に迷惑かかるからCはCGIの器ではない。
0254nobodyさん03/06/29 08:36ID:3fssa4hI
>CでCGIやると暴走して

アホが居ます。
0255nobodyさん03/06/29 09:23ID:???
暴走して迷惑かけるような環境に限定すれば正しい。
共有鯖使ってるような貧乏人は一生perl使っていろと。
0256あぼーんNGNG
あぼーん
0257nobodyさん03/06/29 10:53ID:???
>>253
別にperlで書こうがphp, ruby, pythonで書こうが暴走するとき
はいつでもする。ま、Cはちょっとその辺のライブラリが充実して
ないというのは認めるけど。
あと、あなたが書きこんでいる掲示板はCで書かれているだよ。
0258nobodyさん03/06/29 17:16ID:???
>>257
ある意味暴走してるけどな。
0259nobodyさん03/06/29 17:16ID:3fssa4hI
>Cはちょっとその辺のライブラリ

暴走防止ライブラリ・・・?
0260nobodyさん03/06/29 22:29ID:+k8IYGnc
って言うか、CでCGI作ってる人って、ディスクの入出力ってどうしているんですか?
0261nobodyさん03/06/29 23:01ID:nmtX0NoU
stdio.h
0262あぼーんNGNG
あぼーん
0263nobodyさん03/06/29 23:14ID:xl+ZJY2w
fread()とかfwrite()で済ませているのかな?
0264あぼーんNGNG
あぼーん
0265nobodyさん03/06/30 08:08ID:???
freadは標準入力から読みとるときとファイルの中身を全てバッファに入れる時くらいかなぁ。
0266nobodyさん03/06/30 21:53ID:???
windows2000なんですが、flockって使えるんでしょうか?
0267nobodyさん03/06/30 23:31ID:???
>>266
もちろん使えません。と、言うかCreateFileかなんかでロックかけられなかったっけか?
0268nobodyさん03/07/01 16:36ID:OFbV8KOv
>>265
逆にファイルに出力するときはどうしていますか?
0269nobodyさん03/07/01 19:12ID:???
1つのCGIに引数を使って色々なページから呼び出すのと
各ページにスクリプト自体をコピーして使うのとだと
サーバーの負担って違うの?
前者はアクセスが集中するけど1つで管理しやすい、
後者は1つのスクリプトに集中しないけど
更新のとき面倒・・・
どっちがサーバーにやさしいの?
0270nobodyさん03/07/01 20:09ID:???
>269
サーバーに優しいのはもちろん後者。
更新の時に面倒なのはサーバーには関係ないし。
ただし、保守性が下がる事でバグが発生しやすくなると一概には言えない。

サーバー負荷軽減を考えるのは、大前提として保守が行なえていなければならない。
0271nobodyさん03/07/01 20:10ID:???
>>268
fprintfとかfputsとか、その時々にあったものを。
fwriteは使わないなぁ。
0272nobodyさん03/07/01 22:01ID:???
>>270
そうなのか?結局のところ同じCPUが同じ数のプロセスを処理する羽目になるけれど。

0273nobodyさん03/07/01 22:03ID:???
>>270
それに、Windowsサーバとかなら別のバイナリファイルと認識させるとメモリにロードしたコード領域を
複数プロセスで共有できないからその分不利じゃないか?
0274nobodyさん03/07/01 23:09ID:???
>>271
いずれにしてもCの標準関数オッケーってことですね。
0275nobodyさん03/07/01 23:11ID:???
>>274
OKじゃない理由を聞きたい。
0276nobodyさん03/07/02 19:12ID:???
いや、なんとなくです・・・
他にやり方あるのかなーと思って。
0277nobodyさん03/07/02 20:31ID:???
>>276
別にシステムコールとかAPIとか呼び出しても良いけれど。
0278nobodyさん03/07/03 00:29ID:???
ただし、stdioとシステムコールをまぜて呼ぶのは激しくお勧めしない。
0279nobodyさん03/07/03 02:44ID:???
あ、API呼び出したりしてます。うまく行かないときありますね。
READ ONLY ではオープンできるけど、WRITEではオープンできない。
エラーステータスは、アクセス拒否ですね。
0280初心者 ◆hjAE94JkIU 03/07/03 06:00ID:vVw2g54i
Windowsの環境でC言語でCGIを設置するにはどうすればいいんですか?
基礎から教えてください。おながいします。
0281nobodyさん03/07/03 07:49ID:???
>>280
コンパイルする。
以上。
0282nobodyさん03/07/03 10:43ID:8QXUvEtT
>>281
完璧なレスだね。
0283nobodyさん03/07/03 10:45ID:???
>>281
リンクは?
028428103/07/03 12:40ID:???
http://www.google.co.jp/
0285nobodyさん03/07/03 12:44ID:???
>>284
ネタ・・・だよね?
リンクって(ry
0286nobodyさん03/07/03 17:57ID:???
Cで掲示板CGIを組み始めたのですが
管理者画面を個人認証のパスをかけたディレクトリに入れて
そこから掲示板の修正や削除を行なっています。
この方法だと危ないですか?
みんなパスとかどうしてます?
0287初心者 ◆hjAE94JkIU 03/07/03 20:11ID:vVw2g54i
>>281
Windows環境のC++でコンパイルすると〜.exeファイルができるんですが
これをそのままアップしても動きません。
Cのソースファイルをアップしておき、telnetを使って接続してから
コンパイルするとか聞いたんですが、詳しい方法を教えてもらえませんか?
0288nobodyさん03/07/03 20:19ID:???
>>287
相手も同じWindowsで、.exeのファイルがCGIとして実行されるように設定されていれば動くと思うけど。
0289nobodyさん03/07/03 20:35ID:???
>Windows環境のC++でコンパイルすると〜.exeファイルができるんですが

嘘です。その作業で出来るのは*.objファイルです。
0290nobodyさん03/07/03 20:36ID:???
(^_^;)
いや、俺も似たようなつっこみを283でしたけど。
0291初心者 ◆hjAE94JkIU 03/07/03 20:53ID:vVw2g54i
Microsoft Visual C++6.0です。
Debugフォルダの中に〜.exeファイルができていますが
これは違うんでしょうか?
0292nobodyさん03/07/03 20:55ID:???
>>291
何が?
0293あぼーんNGNG
あぼーん
0294あぼーんNGNG
あぼーん
0295nobodyさん03/07/03 21:39ID:???
>>291
ひとつ聞くが、アップするサーバもOSはWindowsなのか?
0296nobodyさん03/07/03 22:02ID:???
>>295
Windowsと言っても腐るほどあるが。Alpha版ならi386なバイナリはそのままでは動かないわけで。
0297nobodyさん03/07/03 22:16ID:???
> Cのソースファイルをアップしておき、telnetを使って接続してから

この時点でバカ丸出し。
0298初心者 ◆hjAE94JkIU 03/07/03 22:22ID:vVw2g54i
サーバはおそらくUNIX系ではないかと思います。
なぜバカ丸出しなんでしょうか?
初心者丸出しは認めますが(・ー・)
0299あぼーんNGNG
あぼーん
0300nobodyさん03/07/03 22:41ID:???
サーバがUNIXなら、Windowsでコンパイルする意味が無い。
0301nobodyさん03/07/03 23:18ID:???
>>296
そんなこと分かっているが。
ここは重箱の隅をつつくスレなのか?
0302nobodyさん03/07/04 02:36ID:2TW51+UT
>>297
それはサーバー管理者に聞くことであって、ここで聞くことではないよ。
あと、Debugバージョンって配布して使っても良いの?
030330203/07/04 02:37ID:2TW51+UT
間違えた。>>297じゃなくて>>291ね。スマソ
0304nobodyさん03/07/04 02:40ID:???
>>287
サーバーがUNIX系なら、動くほうが奇跡!!
あと、コンパイルする方法なんてのは、サーバー管理者に聞くべし。
ここで聞いても、だれもわからない。
0305nobodyさん03/07/04 03:05ID:???
>>287
ここで聞く前に、自分なりに調べたの?
サーバーの環境とか設定とか。
サーバー管理者に使用許可ももらわないとね。
telnetの操作方法までここで聞こうとしてるんじゃないかと取れるよ。
あと、CGIの基本知識やOSの基本知識。
それなりに自分でやるべきことをやっていれば、
そんな質問は出てこないと思いますけど。
0306nobodyさん03/07/04 06:24ID:???
>>300
>サーバがUNIXなら、Windowsでコンパイルする意味が無い。
クロスコンパイルってご存じですか?
0307nobodyさん03/07/04 10:31ID:???
そんなコンパイラってあるの?
0308nobodyさん03/07/04 10:41ID:???
Windows上でUNIXのコードを吐く、もしくはサーバーマシンのコードを吐く香具師?
そんなんあるんだ。どこにあるの?教えて!!>>306
0309あぼーんNGNG
あぼーん
0310nobodyさん03/07/04 12:48ID:K0OHWjZ9
cygwin + gcc
0311nobodyさん03/07/04 19:30ID:???
パスワード関連のライブラリってないかな?
0312nobodyさん03/07/05 08:24ID:???
>>311
あるだろ。と言うか素直にcrypt使えば?らくちん。
0313nobodyさん03/07/05 09:26ID:i+qO+lkT
OSの認証機能使うのが一番簡単。
0314nobodyさん03/07/05 13:56ID:???
>>312
ありがとう!
なんだか面白そう^^
0315初心者 ◆hjAE94JkIU 03/07/06 16:16ID:nuS2Ew3T
http://www.xrea.com/?action=spec
>C、C++はあらかじめコンパイルしてアップロードしてください。
と書いてあるのですが、どの環境でコンパイルしてどのファイルを
アップロードすれば動くようになるんでしょうか?
0316nobodyさん03/07/06 16:33ID:???
>>315
ソースファイルをうp。
コンパイルするためのコマンドをsystem関数で呼ぶPerlスクリプトをうp。
PerlスクリプトをCGIとして実行。
031731603/07/06 16:35ID:???
ちなみにgccのパスは/usr/bin/gcc
0318nobodyさん03/07/06 17:14ID:???
OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO
Buttobi.net's telnet.

You can use following commands.

ls, more, vi, cat, cd, cp, mv, rm, pwd
mkdir, rmdir, chmod, exit

OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO

こんなメッセージが出たんですが、これはtelnetは許可しているけど
ccやgccでのコンパイルは許可してない(=CでのCGIは不可)
ってことなんでしょうか?
0319あぼーんNGNG
あぼーん
0320nobodyさん03/07/06 18:45ID:???
>ccやgccでのコンパイルは許可してない(=CでのCGIは不可)

いや、クロスコンパイルとか同じOSでセルフコンパイルとか。
=に直結するわけではない。
0321nobodyさん03/07/06 18:57ID:???
それよりtelnet.cgiを試した方が早いと思う。
032232103/07/06 18:58ID:???
というか、サーバ上でコンパイルできなければCが使えるとは言えない。
0323nobodyさん03/07/06 19:02ID:???
>>321
>それよりtelnet.cgiを試した方が早いと思う。
cc or gccの使用権が無いことには変わらんが。

>>323
アホですか?
032432203/07/06 19:09ID:???
>>323
俺へのレスか・・・

なにがアホなの?
Cで作ったものを動作させることができないとは言っていないけど。
0325nobodyさん03/07/06 19:45ID:???
ぶっとびねっとはプログラムの一行目が#!/usr/bin/perlでないとCGIとして実行できないようになっているから、
ローカルでコンパイルしても無駄だよ。
0326nobodyさん03/07/07 00:54ID:???
323はログインシェルとPerlから呼ぶシェルが常に同じだと思っているのかな・・・
0327nobodyさん03/07/07 00:55ID:???
ぶっとびねっと止めます

login: mullah
Password:
Last login: Fri Dec 28 13:09:43 from ocn.ne.jp
+-----------------------------------------+
| * * * * * YOU CAN USE COMMAND * * * * * |
+-----------------------------------------+
| cd, ls, rm, cp, mv, pwd, mkdir, rmdir |
| chmod, more, cat, vi, passwd, tar, gcc |
| gzip, gunzip, exit |
+-----------------------------------------+
tok2$

トクトクならgcc使えるんですよね?
0328nobodyさん03/07/07 01:15ID:???
サーバーのディレクトリにかける個人認証って危ないんですか?
いろいろ個人的に重要なファイルを置いて、携帯から使ってたりしてたんですが。。
0329nobodyさん03/07/07 06:26ID:???
>>326
ええ、今時root権限で動いてるCGIなんて居ませんし。
ファイルのアクセス、非アクセスを制御してるのはシェルではなくOS。当然っしょ。
0330nobodyさん03/07/07 09:32ID:???
>>329
本気ならxreaなどに同様のことを言ってあげてください。
0331nobodyさん03/07/07 17:38ID:???
>329
それはレンタルのサーバスペースでの話だろうよ?
自宅サーバなんかだといちいちSuExecなんかしてない。
0332nobodyさん03/07/07 18:18ID:???
>>331
誰もsuEXECの話なんかしていないぞ。
0333nobodyさん03/07/07 18:30ID:???
俺はオマエと話なんかしてないぞ
0334nobodyさん03/07/07 19:35ID:???
>>331
>それはレンタルのサーバスペースでの話だろうよ?

でも酷くてもnobodyさんじゃないの。権限なんて無いに等しい。
0335nobodyさん03/07/08 06:01ID:???
web上から数値を入力して
それをC言語で作ったcgiで受け取って計算するには
具体的にどうすればいいんでしょうか?
0336nobodyさん03/07/08 06:17ID:???
>>335
普通にCでCGI組めば良し。
0337nobodyさん03/07/08 06:19ID:???
>>336
普通にcinとか使ったらいいんですか?
0338nobodyさん03/07/08 06:21ID:???
>>335
Perlなどで書くときと同じ。
REQUEST_METHODにしたがって入力データを読みパースする。
ただし、あくまでも文字列なのでatoi,strtod,sscanfなどの関数で数値に変換してやる必要がある。
Perlなんかだと"70"をそのまま70として扱うことができるけどね。
0339nobodyさん03/07/08 06:45ID:???
>>337
cinか環境変数か。

ってここC++はありなのか?
0340nobodyさん03/07/08 07:43ID:???
FILE *cin=stdin;
0341nobodyさん03/07/08 09:46ID:???
カウンタファイルが同時アクセスが原因で直壊れちゃいます。
何か良い解決策ありませんでしょうか。
0342nobodyさん03/07/08 10:43ID:C4MsgQ7t
>>341
flock()使え
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/flock.2.html
0343nobodyさん03/07/08 11:03ID:???
flockってflock自体も衝突しなかった?
確かNULLだか返ってきたような来ないような・・・うろ覚えスマンコ
0344nobodyさん03/07/08 12:38ID:???
そうそう元のプロセスを殺してfork()で子プロセス作って
そっちに処理を継続させずっと半年ほど
とあるネトゲのサーバー群のUP/DOWNの情報を
収集しグラフで出力するCGI
この間常駐物はイカンって強制的に止められたけど
こういうのも常駐って言うの?
なんか違うような・・・
0345nobodyさん03/07/08 17:14ID:???
>>343
戻り値の型がintなのに、なんでNULLが返るんだ。
034634303/07/08 20:22ID:???
スマンコあれ書いてた時携帯だったので直前の342リンク先見れんかったんだわ
0347nobodyさん03/07/08 21:12ID:???
>>344
デーモンを作るときの手口とかなり類似してるので、名実ともに立派な常駐物だと思われ。
0348nobodyさん03/07/08 22:08ID:???
あなた達は何でCで?
0349nobodyさん03/07/08 22:09ID:???
>>348
エロいからです。
0350nobodyさん03/07/08 23:24ID:???
>>349
ひねったのか?
0351nobodyさん03/07/09 09:15ID:???
フレームは使わずにニュースサイト風に
何処のページでもメニューが表示されるようにしたいのですが、
メニューだけのページと各ページとを合成するCGIを作って
それで出力されるhtmlファイルにアクセスしてもらうのって意味ないすか?
合成するCGIに直接アクセスするタイプだと鯖に負担かかりそうなので
こういうの考えたんだけどダメっすかね。。
Cなら分かるんだが、PHPとか他の言語ワカンネぇし
覚えても直流行り廃れ激しいしCだけで丁度組めそうだなと思ったんだが・・
0352nobodyさん03/07/09 12:12ID:fhWRgtVA
C++じゃ駄目なの?
0353nobodyさん03/07/09 12:18ID:???
C++だと何かいいことあるんですか?
教えてください。
0354nobodyさん03/07/09 14:30ID:???
>>353
OOPが好きなの
0355nobodyさん03/07/09 17:18ID:???
http://me.bird.to/hakoniwa/script_cpp.html

見事なOOPだよ。
0356nobodyさん03/07/09 22:24ID:???
>>353
std::string
これに尽きる。
0357みきポン03/07/11 18:50ID:yaaqxGUY
きゃーC言語ってCGIも作れるんですかー?
みきポンとこの会社って丁度研修でC言語ってのやってるんですぅー
がんばろーっと
毎日暴走させてますが分からないことあったら
教えてねぇ〜 じゃーねぇ〜 ミ☆
0358nobodyさん03/07/11 20:01ID:???
>>357
もう絶対にこないでください。
0359nobodyさん03/07/11 20:03ID:???
>>358
オマエモナー
0360nobodyさん03/07/11 20:23ID:???
釣られるなよ…おい。
0361nobodyさん03/07/11 21:16ID:???
オマエモナー
0362nobodyさん03/07/13 18:32ID:???
>>297
>> Cのソースファイルをアップしておき、telnetを使って接続してから
>この時点でバカ丸出し。

素で分からないんですが。
telnetでログインしてからコマンドでファイルを取得しろという事?
telnetなんて使わずSSH(slogin)を使えという事?
0363nobodyさん03/07/13 19:51ID:???
>>362
上級者の>>297にしか分からないことです。
0364山崎 渉03/07/15 11:07ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0365みきポン03/07/16 11:41ID:eO5RiK8m
ファイルの存在チェックってみなさんどうしてます〜?
みきポン日記CGIを作りたいのね♪
月単位で過去ログをわけて、画面の下の方に半年分、
ログファイルが存在する月だけログファイルへリンクはりたいの!
どうやって調べたらいいのぉ〜?(´・∀・`)アハハ
_stat()?
0366nobodyさん03/07/16 11:54ID:???
>>365
上級者の>>297にしか分からないことです。
0367みきポン03/07/16 12:16ID:???
>>297
お願いしますm(..)m 297さん
0368nobodyさん03/07/16 16:47ID:???
>>365
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int stat(const char *file_name, struct stat *buf);
0369nobodyさん03/07/16 22:46ID:???
>>3652
ファイルをfopenで開いてみる。モードは"r"で。

FILE *fp;
if((fp=fopen(file,"r"))==NULL){
perror("file");
return 1;
}
fclose(fp);
0370みきポン03/07/16 23:04ID:???
>>368
あれ?MSDNだと_stat()ですけどstat()と同じものなの?
そうそう、みなさん最終的にはLinuxやFreeBSDなどUNIX系OSのサーバーにUPしますけど
動作確認はWindowsの自分のマシン上で確認してるの?
それとも、CGIを作るにはLinuxマシンを用意した方がいいかなぁ?
なんか今さっき気が付いたのですが、Windows系のみUnix系のみの関数がありますね。。
やっぱりUNIX固有の便利な関数が多いからLinuxマシンでもないと無理なのかなぁ(;;

>>369
もしファイルが存在したら開いちゃうけど、ファイルI/O系って遅くない?
遅い順にDB接続>ファイルI/O>変数の代入で遅い方ほど回数少なくしてって習ったんだけど。。
0371nobodyさん03/07/16 23:14ID:???
オープンしただけではI/Oは行わない。
0372みきポン03/07/17 08:03ID:???
そーなんだぁ^^ありがとー
0373nobodyさん03/07/20 18:37ID:Q2qUuQyi
CでつくったCGIが動くレンタルサーバー屋って少ないの?
0374nobodyさん03/07/20 18:41ID:???
>>373
はい
0375nobodyさん03/07/21 01:16ID:ycV7HkUx
CでCGIの作り方を紹介してるみなさんのお勧めサイト教えて!
0376nobodyさん03/07/21 01:30ID:???
>>370
あんま、CでのCGIって知らないんだけど
Cで作ったCGIのソースってどうするの?鯖上でコンパイル?だよね?

VCだとUnix系のソースと互換性がない部分があるからLinuxマシン用意するか
Windowsで確認したいならソースで互換性が取れるMingwとか入れた方がいいよ

↓ここの MinGW-3.0.0-rc3.exe。
http://sourceforge.net/project/showfiles.php?group_id=2435&release_id=90000
コンパイルはコマンドラインだけど

あとファイル存在チェックで fopen は遅いね access か stat がいい。
037737603/07/21 01:34ID:???
>>371
あ、fopen は遅いとか書いちゃったけどなんか書いてあった。
処理しなければI/O行わないんだ。知らんかった。
でも、ファイルハンドル用のメモリ確保とかしてるよね
まあ、些細なことか
0378nobodyさん03/07/21 03:02ID:???
ファイルハンドルだってさ。
0379nobodyさん03/07/21 09:28ID:???
>>376
別にクライアントに同じOS入れるとかクロスコンパイルするとか。
038037603/07/21 12:42ID:???
>>378
そんな細かいこと指摘されても...

>>379
うわぁ >>310 見たときはアホか。とか思ったけど
ほんとにできるんだ。すげぇ。ありがとう。

http://www.sixnine.net/cygwin/cygwin-doc/devel/cygwin-to-linux-cross-howto.html
038137903/07/21 13:10ID:???
>>380
俺もファイルハンドルとファイルディスクリプタだったら>>380に同意だったんだが・・・。
0382nobodyさん03/07/21 21:39ID:ycV7HkUx
やや!MinGWこれなんかよさげですね!
VCからさっさと乗り換えるべ
0383nobodyさん03/07/21 21:39ID:???
すまんこ、、あげちまった
0384あぼーんNGNG
あぼーん
0385あぼーんNGNG
あぼーん
0386nobodyさん03/07/21 22:11ID:???
あんたらスゲーよ。
0387nobodyさん03/07/22 00:45ID:???
業者ウザイ
DMと同じくネットのリソースをムダに食いつぶすだけの存在で規制かけて欲しい
0388nobodyさん03/07/22 06:40ID:???
>ネットのリソースを

また訳の分からんことを言う。
まぁ、Webプログラマ風情じゃこんなもんか。
0389nobodyさん03/07/23 13:51ID:???
CでCGIやると、scanfとかfgetsとか前もって文字数定義しなきゃいけないでそ。
ユーザの入力文字数をどうやって制限するんですか。
0390nobodyさん03/07/23 16:16ID:???
>>389
質問の意図がよく分からない。
ユーザが入力する文字数を制限することはできないが、受け取る文字数の制限ならfgetsやstrncpyでできるだろ。
それとも入力された文字数を知りたいのか?それならPOST時は環境変数CONTENT_LENGTHを参照すればわかる。
0391nobodyさん03/07/23 16:46ID:???
>>390さん、早速ご返事いただきありがとうございます。
いや、Cは、ほんとの初心者なもので、受け取る文字数の制限が
fgetsやstrncpyでできることもよく分かってなかったんです。
そうか、できるんですね。夏厨、ごめんなさーい。
0392nobodyさん03/07/23 17:23ID:???
>>338
ネットリソースという言葉をこの文脈で使うのは変なの?

>>387の意図は理解できるんだけど。
0393nobodyさん03/07/23 21:28ID:???
>>392
この手の厨は都合の悪いことを訊かれると暴れるから注意な。
0394nobodyさん03/07/23 21:39ID:???
>>393
ご要望にお応えして。



























0395nobodyさん03/07/23 23:01ID:KwmZHKax
Cでファイルの行数を調べたいのですが。
(たとえば行数をしらべたいファイルtest.datだとするとどうすればいいでしょうか?)
0396あぼーんNGNG
あぼーん
0397nobodyさん03/07/23 23:40ID:HKrDQto9
CでPerlのDBIのようなDBにアクセスする為のものはあるのでしょうか?
0398nobodyさん03/07/24 00:40ID:???
>>395
ファイルを全部読み取って一文字一文字 \n がないか調べる
ソース
int linecount( char* (以下省略

>>397
各社で提供されているDBアクセスライブラリを使うことになる。
DBIみたいにMySQLもOracleもMSSQLでも共通っていうライブラリはないね
あんま、よくしらんからあるかもしれんが
0399nobodyさん03/07/24 03:35ID:???
>>392
388じゃないけれど、ものすごく違和感がある。まあ同じく言いたいことは分かるが。
わざわざ387のようなことを書くことも無駄だと言えるな。

>>395
行数をどう数えるか定義しないとな。文字が全くない場合はどうするのか、末尾が改行の場合と改行でない場合それぞれをどう数えるか。
0400nobodyさん03/07/24 06:49ID:???
1行あたりのバイト数が決まっているなら目的の行に直ぐに移動できるのですが
1行が可変長だとこういう場合もやっぱりfscanfなんかでグルグル回して
目的の行に移動しなきゃいけないんですかね?
なんかファイルサイズが大きいと読み込みながら探すって処理が
凄く時間かかりそうで、読み込まずに何行目ってシークする方法ないでしょうか。

CGIみたいな同じプログラムを同時に複数の人が使う場合
注意しなくてはいけない点など何か有りますか?
なんとなく今疑問に思ってるのがファイル名が決まっていると
同時に複数の人がファイル操作の時、衝突が起こるのではと思ってるのですが
こういうのを再現というかテストする場合どのようにするればよろしいのでしょうか。。
2台のマシンから、いっせーのっで!ってアクセスするんですか?
その程度でもやっぱり同じタイミングだと衝突って起こるのものなのですか?
040139503/07/24 15:58ID:CbPhxA3z
>>398(ほか数名)サンクス。
0402nobodyさん03/07/24 16:04ID:YlVsb0iT
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=ookazujp
http://www.39001.com/cgi-bin/cpc/welcome.cgi?id=ookazujp
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000002&pid=p000000244
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000003&pid=p000000244
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000017&pid=p000000244
http://www.adultshoping.com/index.cgi?id=1057809839
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000008&pid=p000000244

!!!!! ━━━━━━(゚∀゚)b━━━━━━ グッジョブ!!!!!
0403nobodyさん03/07/24 16:05ID:82g81umj
みんなぬいじゃった★全部みえちゃうよ☆
http://www3.free-city.net/home/espresso/princess/peach.html

☆綺麗なおしりときれいなおっぱいがたくさん!
http://www3.free-city.net/home/espresso/bigapple/queen.html
0404nobodyさん03/07/24 16:10ID:V/WD+Kmm
☆貴方の見たい娘がイッパイ(^0^)☆
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0405_03/07/24 16:22ID:???
http://homepage.mac.com/hiroyuki44/hankaku06.html
0406_03/07/24 16:23ID:???
http://homepage.mac.com/hiroyuki44/
0407nobodyさん03/07/24 16:35ID:???
MinGW+MSYS入れてみましたが、
lockf()系が動かないです。。ショボンヌ
0408nobodyさん03/07/24 22:41ID:???
>>400
結局のところ1文字ずつ改行コードか否かを判断する必要があるわけで、あきらめて下さい。
0409nobodyさん03/07/25 01:06ID:???
>>400
上の段は>>408が答えてくれたので下の段の質問を担当

いっせーの!は仕事でもよくやります。衝突起こります。
ただ、ファイル操作っていうのが「読み込みだけ」ならいくら衝突しても問題なし。
書き込みするのであれば、flockだかlockfだかの関数を使用して制御しなくてはなりません

>>407
結構動かないもの一杯あるよ
Windows API とか C++ 標準のクラスとか。バージョンうpを待つか、あきらめて下さい。
0410nobodyさん03/07/25 01:27ID:???
Windows上でUnix系の関数が全部動くのって無いんですかねぇ。。
MinGW+MSYSは、これはこれでチョロっとUnix操作の練習には良いですね。
勉強のためにもlinux入れようかなぁ。
0411nobodyさん03/07/25 01:37ID:???
>>410
cygwin の GCC ならUnix関係は全部動いたはず...。
でも cygwin って漏れ的になんか嫌なんだよなぁ
一番いいのはやはり Linux 入れるのがよろしいかと思われます
0412nobodyさん03/07/25 01:46ID:???
ありがと、んじゃ試してみますぅ〜
0413nobodyさん03/07/25 02:18ID:???
aaacafeの無料HPにC言語CGI設置した人っているんでしょうか?
0414nobodyさん03/07/25 06:47ID:???
>>413
そりゃ一人位はいるんでは?
0415nobodyさん03/07/25 20:51ID:Dg8fdiO+
aaacafeの説明に「自分でコンパイルしてアップロード」
って書いてあったけど、それでCGIはちゃんと動くんですか?
0416nobodyさん03/07/25 22:06ID:xb80qzca
>>415
あんまり詳しいことは知らんが、OSが同じ環境でコンパイルしてたら
動くんじゃないんですか?
自分のWindows環境で作ったプログラムが他人のWindows上で動かせるのと
同様に・・・。
0417nobodyさん03/07/25 22:06ID:???
>>415
特に動かない理由はないですが。
0418nobodyさん03/07/25 22:10ID:xb80qzca
教えて欲しいこと。
トクトクのOSってなんでしたっけ?
知ってたら教えてください。
0419nobodyさん03/07/25 22:25ID:???
>418
確か赤帽。
042041803/07/25 22:34ID:xb80qzca
>>419
Thanks. Led Hat Linuxですな。
0421nobodyさん03/07/25 22:45ID:???
>>420
ちょっと欲しい。 <LED HAT
042241803/07/25 23:04ID:xb80qzca
そういやトクトクでコンパイルしたCGIがXreaで使えたよ!
0423nobodyさん03/07/26 01:23ID:???
めんどくさくない?
0424nobodyさん03/07/26 01:29ID:???
Cygwinでflock(),lockf()使えなかったです。
0425nobodyさん03/07/26 01:32ID:8P2qcw+E
XREAでコンパイルすればいいだろ・・・
0426nobodyさん03/07/26 01:36ID:???
ローカルでコンパイルしたいよね。
0427nobodyさん03/07/26 02:01ID:???
>>421
LED Hatって青とか赤とか7色に光りそうだよね。しかもシルクハット。おしゃれ付け髭付き。

>>422
( ´_ゝ`)

スクリプト言語とかJavaバイナリならどこでも使えるよ!
つーかさ、正直CはCGIに適してねえだろ・・・。
まあ、おもしろいけどさぁ
0428nobodyさん03/07/26 07:32ID:???
>>427
>スクリプト言語とかJavaバイナリならどこでも使えるよ!
Perlですらflock問題とかあるけどな。

>つーかさ、正直CはCGIに適してねえだろ・・・。
CGIは掲示板を作るだけの物じゃないぞ。
042942403/07/26 12:50ID:???
fcntl()が代わりみたいなので、自分でlockf()ってコールされたら
fcntl()呼ぶように書いちゃった^^;
無ければ作ればいいだけだったんだ。。おさわがせしましたー
043041803/07/26 19:17ID:J4DAnaOu
Xreaってコンパイラ開放されていましたっけ?
それともtelnet.cgiですかね?
0431nobodyさん03/07/26 19:18ID:???
>>430
後者
0432nobodyさん03/07/26 19:19ID:H0wl0HD5
開店セール500円より販売見に来てーーーー!アダルトDVDを見ようー!
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
開店セール1枚 500円より→→→http://www.dvd-exp.com 
最短でご注文いただいた翌日にお届け!→→→http://www.dvd-exp.com 
セルビデオ店の人気商品が24時間お買い物が出来ます。
見やすい画面・注文簡単・時間をかけてゆっくり選んでください!
          http://www.dvd-exp.com←へGO!
0433コヨーテ03/07/26 20:52ID:2kRK0hKL
http://elife.fam.cx/a008/
0434nobodyさん03/07/27 00:38ID:???
>431
嘘教えるな。

>430
XREAスレで聞いた方がいい。
コンパイラ開放は一応宣言されているが、後から撤回されたかもしれない。
とりあえずtelnet.cgi使うのはやめれ。
使うならせめてSSH使え。
0435nobodyさん03/07/27 05:09ID:???
知らないくせに「嘘教えるな。」か。
現在SSHからgccを呼べるなら方法を教えてほしいものだ(禁止事項だがな)。
043643503/07/27 05:10ID:???
呼べることは呼べるんだけどねぇ、リンクできないのよ。
043743503/07/27 05:31ID:???
ldを個別に呼べばいいのか・・・
gcc -c -o hello.o hello.c
ld -lc -e main -o hello.cgi hello.o
043843503/07/27 06:07ID:???
エントリポイントってmainじゃなくて本当の入り口のことかな・・・・ldの使い方わからん・・・
CGIからgccを呼んだ方が楽だと思うんだけどなぁ。
0439nobodyさん03/07/27 06:37ID:???
crt*.oリンクしてエントリポイントをデフォルトにしてもだめだ・・・
0440nobodyさん03/07/27 06:48ID:???
発想変えてgccがldの場所を分かるようにしたらできました。
gcc -B/usr/bin -o hello.cgi hello.c

>>430
gccを使うときに必ず-B/usr/binをつければいいみたい。
0441nobodyさん03/07/27 09:52ID:???
>>435
>現在SSHからgccを呼べるなら方法を教えてほしいものだ(禁止事項だがな)。
telnet.cgiも忌み嫌われてるけどな。
044241803/07/27 10:58ID:TT/DkuOW
文字列長をまったく無視してProg組んでたら友達に
セキュリティホールつくんなボケ!と一喝入れられました。
むしrPOSTで送られてきた文字列の長さを検査する方法を教えてください。
0443nobodyさん03/07/27 11:05ID:???
>>440
>>390
0444レス先間違えた03/07/27 11:06ID:???
>>442
>>390
0445nobodyさん03/07/27 11:09ID:ovF07x1A
腿   \_  |   _/
          彡彡彡
          ミミミミ クリトリスhttp://link.iclub.to/adalt/
         ミミミミ / ̄ ̄ ̄ ̄
         ノ σ ヽ 尿道 http://link.iclub.to/amazon/
       / / ゜ヽ ̄ ̄ ̄ ̄
大陰唇 / //\\ \ 
 ̄ ̄ ̄ ̄  ( ( 膣 ) ── 小陰唇 http://link.iclub.to/docomo/
      \ \\// /
         `   \/  '
\         *──肛門 http://www.yahoo2003.com/f-set.html
  \_____/\_____/
0446nobodyさん03/07/27 12:38ID:???
C/C++のCGIライブラリで有名なのってある?
0447nobodyさん03/07/27 17:11ID:???
>>442
なんも考えずにファイルに取りあえず保存とかどうだ?
0448nobodyさん03/07/29 18:42ID:???
link()ってどういうものなの?
0449nobodyさん03/07/29 19:30ID:???
>>448
既存のファイルに新しい名前を与える。以前の名前と同じファイルに同じようにアクセスできる。
シンボリックリンクを作りたかったらsymlinkを使う。これならリンク先が違うファイルシステム上にあってもOK。
0450nobodyさん03/07/29 22:42ID:???
うーん難しい。。。
AってファイルにBって別名を付けて
AでもBでも同一のファイルにアクセスできるようになるの?
どういう時に使うんだろ。。。
0451nobodyさん03/07/29 22:51ID:???
>>450
Winのショートカットみたいに。
でも普通はハードリンクではなくショートカットによく似ているシンボリックリンクを使うと思う。
まあハードリンクならリンクだけあって実体がないなんてことにはならないけど。
0452nobodyさん03/07/29 22:59ID:???
あらかじめ大事なファイルへのハードリンクをつくっておけば、誤って消してしまっても大丈夫・・・・かも。
0453nobodyさん03/07/30 02:13ID:???
pdumpfsというバックアップツールで、差分以外はハードリンクにしてたよ。
0454nobodyさん03/07/30 10:36ID:???
>>452
謝って消す確率が二倍になるだけかと。
0455nobodyさん03/07/30 10:51ID:???
当然そうだろうな
0456nobodyさん03/07/30 11:22ID:???
>>454
は?なんで?
aというファイルにbという名前(できれば違うディレクトリに)をつけておけば誤ってrm aとしてしまってもbが残っているからファイルの実体は消えないだろ。
0457nobodyさん03/07/30 12:36ID:???
>>456
正解
0458nobodyさん03/07/30 12:45ID:???
>>456
大正解
0459nobodyさん03/07/30 22:43ID:???
超正解
0460山崎 渉03/08/02 02:22ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0461ぼるじょあ ◆ySd1dMH5Gk 03/08/02 04:51ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0462nobodyさん03/08/03 20:16ID:bFsfY9id
今後CのCGIが動かせれる鯖って減っていくのかな?
0463_03/08/03 20:24ID:???
http://homepage.mac.com/hiroyuki44/
0464nobodyさん03/08/03 20:40ID:???
動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる
動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる
動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる
動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる
動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる
動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる
動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる 動かせれる
0465小菅 弘03/08/03 21:15ID:/H7KA8Fv
本当に稼げるのであります。バナーを貼るだけで稼げます。
ビジネスパートナー様はHPにバナーを貼るだけで、稼げます。キャッシュバック制
1件でも契約が成立した時点で、貴方の口座に振り込みます。頑張れば、毎月400万
くらい稼げます。本当にビジネスパートナー様はバナーを貼り、簡単な営業で稼げます。
http://www.c-gmf.com/index3.htm
http://www.c-gmf.com/index2.htm
http://www.c-gmf.com/mail.htm
ビジネスパートナー募集中。
オンライン申込後、郵送にて契約書を送ります。
キャッシュバック・年間契約成立後ビジネスパートナー様に
4000円差し上げます。ビジネス方法は直接営業もしくは間接営業
のどちらでも可能です。あなた専用の申込用紙orCGI申込を用意して
いますので安心してください。ビジネスについて、簡単なシステムであり、
バナーを貼るだけで稼げる。4000円×100件=40万円になります。
4000円×1000件=400万円になり、年商4800万円になるビジネス。
0466nobodyさん03/08/03 23:07ID:???
>>464
◎よくがんばりました。
0467nobodyさん03/08/04 18:53ID:LUTx1NPH
動かれさられている 動らせかせらてれいる

どっちがあってる?
0468nobodyさん03/08/04 19:03ID:???
ハァ?
0469nobodyさん03/08/04 19:40ID:???
>>467
日本語勉強しろ
0470nobodyさん03/08/04 20:03ID:???
雨後か競れる
04714503/08/04 21:42ID:???
「動かせれる」って聞いた瞬間、「どっかの方言でありそうだなぁ」
と思ったんだけど、多分北海道でも使うわこれ。
俺結構聞いたことあるような気がする。

文字で見るとおかしいけど音で聞くとそうでもないような。
0472nobodyさん03/08/04 23:20ID:???
三流日本人だけど、>>462は 「動かせられる」 か 「動かせる」 がもっとも当てはまる感じがするかな
でも別に動かせれるでも問題ない気がするけどな
0473nobodyさん03/08/06 06:41ID:caVQuJh5
動作可能。としておけば。
0474nobodyさん03/08/06 07:17ID:???
動く+使役+可能+ら抜き=動かせれる
0475_03/08/06 08:07ID:???
http://homepage.mac.com/hiroyuki44/hankaku02.html
0476nobodyさん03/08/06 12:24ID:???
C言語でCGI作るのってむつかしいの?
Cだとどんな利点があるの?

Perlとどっちが楽?
0477nobodyさん03/08/06 12:38ID:???
>>476
Perlだと制作に一週間かかるものが、Cなら二日でできる。
0478nobodyさん03/08/06 13:26ID:???
>>476
Perlならあまり経験できない鯖落としが、Cなら時々できる。
0479nobodyさん03/08/06 20:17ID:???
>477
俺は逆だな。

>476
大体の場合において、Cの方が難しいし鯖負荷が少ない。
0480nobodyさん03/08/07 00:21ID:???
>>476
C/C++のスキルは金になる。
CGIでのC/C++は金にならんけど、.NETの練習するもよし、
GUIアプリの練習するもよし。
0481nobodyさん03/08/07 11:52ID:vdprkoxV
Cの方が楽だろ。
0482みんなで誘い合って東京ドームへ行こう03/08/07 12:00ID:???
おじゃまします。宣伝スマソ。

みんなで日ハム−オリックス戦を満員にしよう
8月11日(月)東京ドーム18:00〜
http://off.2ch.net/test/read.cgi/offmatrix/1059573009/
まとめサイト
http://takemetotheballgame.hp.infoseek.co.jp/

おじゃましました。
0483nobodyさん03/08/07 17:29ID:???
>>481
うそぉ・・
0484nobodyさん03/08/08 22:08ID:EIK+Pm9d
>>483
えらい人にはそれがわからんのです。
0485直リン03/08/08 22:17ID:P+rccZAC
http://homepage.mac.com/maki170001/
0486nobodyさん03/08/10 06:30ID:ppxWQfQQ
2chぐらいの巨大掲示板となると
やはりC言語でやるのでしょうか?

処理スピードや負荷を考えるとC言語がベターですよね。
0487nobodyさん03/08/10 10:54ID:???
>>486
Cだったとしたらなんなんだよ
ベターだと思ってるならそれでいいだろ

関係するような事案を抱えての質問ならまだしも、
思いつきみたいな質問にはそんなレスでじゅうぶん
0488nobodyさん03/08/10 11:06ID:???
>>487
素直に「知らない」と言った方が潔い。
0489nobodyさん03/08/10 11:17ID:???
いいんじゃないの?
厨っぽい質問だし、時にはわざと教えなかったり
ウソを教えるのもいい勉強かと
0490nobodyさん03/08/10 12:58ID:???
>>489
でも、君は答えを知らないんだろう?
0491nobodyさん03/08/10 12:58ID:???
>>489
と、言うか句読点って知ってる?
 
0492nobodyさん03/08/10 13:57ID:???
>>491
君も答えを知らないんだね
0493nobodyさん03/08/10 14:21ID:???
>>492
ええ、そんな大規模な人数に酷使されるサーバ触る仕事なんてやったこと無いんで。
だから質問者を責めることもしなかった。知らないんだから怒る権利もないだろう。

0494nobodyさん03/08/14 13:59ID:oA+wkOB6
GD.hを使ったサンプルソースが乗ってるサイト教えて!><
それとGIFがライセンス料払わなくて良いようになったけど
またGDでGIFが主流になるのかな?
0495nobodyさん03/08/14 14:38ID:???
>>494
アメリカではな。
0496山崎 渉03/08/15 22:31ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0497nobodyさん03/08/17 15:17ID:VoWMe2O6
日本ではPNGはそのまま残るって事?
携帯で確かに需要はあるけど
0498 ◆70ukzFAC.c 03/08/17 23:51ID:78eH/B6l
>>494
http://www2d.biglobe.ne.jp/~gama/cgi/001101.htm
0499nobodyさん03/08/18 08:14ID:???
2chは(一部Perlで出来ているが)クリティカルなところは、全てCで出来てる。
0500nobodyさん03/08/18 10:22ID:???
Cでできているのってread.cgiだけじゃないの?
Perlでできているのはbbs.cgi 他
0501nobodyさん03/08/18 19:25ID:???
ほしゅ
0502nobodyさん03/08/20 21:31ID:ecf/osSC
read.cかいたら友達に、セキュリティホールを指摘されたのでage
0503直リン03/08/20 21:37ID:CDzd/BGD
http://homepage.mac.com/kayo16/
0504nobodyさん03/08/20 21:47ID:ZnK/OJ9S
  _、_
( , ノ` )    いいと思うが・・・
  \,;  シュボッ
    (),
    |E|
http://homepage3.nifty.com/manko/
0505nobodyさん03/08/20 23:56ID:???
>>502
char buf[256];

gets(buf);

バッファアンダーランの恐れをか?w
0506nobodyさん03/08/20 23:56ID:???
>>505
オーバーランだな。
0507nobodyさん03/08/21 00:52ID:???
バッファオバーランになるとどうなるんで?
てか、バッファオバーランってどういう状況なんでつか?
■ このスレッドは過去ログ倉庫に格納されています