C/C++ CGIスレッド at PHP
[2ch|▼Menu]
[前50を表示]
150:147
04/07/06 11:53
>>148
localtime(&lt);のことですか?
&を大文字で書かないと2ちゃんに書き込むときに
">"に変換されてしまうんで・・・


151:nobodyさん
04/07/06 12:03
なんだ、ネタだったのか…
釣られちゃったよ orz

152:nobodyさん
04/07/06 12:07 NBQAU1O/
CGIの出力でSSIを使いたいのですが
使えます?使ってる人いますか?


153:nobodyさん
04/07/06 12:19
(´-`).。oO(アホか・・・)

154:152
04/07/06 12:23 NBQAU1O/
>>153

なんで?なんでアホなの??
サーバーがパースしてくれないから絶対使えないの??

155:nobodyさん
04/07/06 12:25
そんな餌で俺がクマー(AA略

156:152
04/07/06 12:27 NBQAU1O/
マジな質問でも釣りとかいわれるスレなんだね・・・

157:nobodyさん
04/07/06 12:29
それ以前にスレ違い

158:152
04/07/06 12:33 NBQAU1O/
なんで?CのCGIでSSIを出力したいんだよ?
このスレジャン

159:nobodyさん
04/07/06 12:38
こいつはCのCGIで出力するhtmlについてもここで聞くのだろうな・・・

160:152
04/07/06 13:20 NBQAU1O/
>>159

知らないんだろ?w

161:nobodyさん
04/07/06 13:28
釣れますか?

162:152
04/07/06 13:30 NBQAU1O/
くだらない釣りすんなよ・・スレ汚しが・・・

163:nobodyさん
04/07/06 13:31
このスレ、なんか臭いな

164:152
04/07/06 13:34 NBQAU1O/
お前が臭くしたんだよ・・・

165:147
04/07/06 13:41
>>151さん
ネタじゃないんですよ。。本気で悩んでます。。

>>152さん
SSIを使いたいというのはよくわからんのですが
特定のHTMLの一部分に数値等を表示させたいということでいいんですか?

166:nobodyさん
04/07/06 14:01
localtime(<);

167:152
04/07/06 14:11 NBQAU1O/
>>165

<!--#include file="他のファイル.html" -->を使って他のhtml
ファイルを取り込んでブラウザーに出力できないかなって思ったんです。

SSIってhttpdがファイルをパースして結果を置き換えますよね・・・

なんで出力をパースさせればいいのかな??
CGIからの出力をパースさせるのはhttpdの設定(apacheなんでhttpd.conf)??

なんて考えてたんですけど実際はどうすればいいのかわからないので
質問してみたんです・・・・・



168:nobodyさん
04/07/06 14:28
SSIの基本を理解してないならくだ質スレへどうぞ

169:152
04/07/06 14:35 NBQAU1O/
>>168

はあ?どこがわかってねえっていうんだよボケ!
つーかどこが理解してないかいえねえだろ?
トリアエズくだらねえツッコミばっか入れてるキモイてめえはこんりんざいだまってろ
アホ。

170:nobodyさん
04/07/06 14:38
どうもならんな・・・
己の無知に気がついていない

171:152
04/07/06 14:45 NBQAU1O/
何もいわないで適当に批判すれば頭がよくみられるんだなこのスレでは・・・

172:nobodyさん
04/07/06 14:50
もう回答は得られないのだから好きに吠えていろ池沼

173:nobodyさん
04/07/06 15:00
おまいら、これでも見てモチツケ
URLリンク(www.sweetnote.com)
URLリンク(www.sweetnote.com)

174:152
04/07/06 15:03 NBQAU1O/
147みたいなまともな人もいるんだけど、
172みたいなどうしようもない負け犬がわんわん吠えると
とたんに堕スレになっちゃうな。


175:nobodyさん
04/07/06 15:19
>>173
見れないよう

176:147
04/07/06 15:45
>>152
あんまりあつくなっても・・・・
SSIうんぬんではなくて
Cでパースして出力すればできるのでは?

177:黒死犬 ◆EgxBlf8nvc
04/07/06 16:45
AddType

178:fff
04/07/06 16:50
>>SSI
URLリンク(httpd.apache.org)
という感じで、"You can't."だと。しかし、
This is a feature The Apache Group hopes to add in the next major release after 1.3.
で、付加される機能かも知れない。知らないが。

179:nobodyさん
04/07/06 16:56
>>147
とりあえずprintfとかでヘッダーを出力した後にfflushしておけばそのエラーは出ないかも。

180:179
04/07/06 17:08
というか、その前に落ちているのか。
おそらく問題は他にある。

181:黒死犬(魚かも) ◆EgxBlf8nvc
04/07/06 17:18
ヘッダにいらんもん出力してるって分かってんだから
プログラムが出力してる内容を見れば良いだけじゃない・・・

182:nobodyさん
04/07/06 17:19
>>181
ヘッダを出力する前に落ちているだけだろ。馬鹿かお前は。

183:黒死犬(魚かも) ◆EgxBlf8nvc
04/07/06 17:21
いやいや、違いますよ
>>149
を読んでください

184:黒死犬(魚かも) ◆EgxBlf8nvc
04/07/06 17:22
すまそ誤爆った
でしゃばってすまぬ

185:nobodyさん
04/07/06 17:22
落ちてヘッダを出力していないから「premature end of script headers」になるんだよ。


186:nobodyさん
04/07/06 17:32
CGIが出力するhtmlにSSIを書いても動きません。

はい終了。

方法はあるけど152みたいなやつには教えん。

187:nobodyさん
04/07/06 17:40
少なくともapache 2.0.50で動くことは今確認できた
でも完全にスレ違いの話題だな

>>152はこんなところで煽ってる暇があったら自分で調べろよヴォケ

188:147
04/07/06 17:58
179さん、黒死犬(魚かも)さん、187さん

アドバイスありがとうございます。

プログラムの内容は、
@入力フォームのhtmlの数値を取り込み計算
A計算結果画面のhtmlに計算結果数値を埋め込んでいく

という一般的なものなんです。
Time関数を使用している箇所を除くと表示できるのですが。。
187さんの言うとおりapacheの問題かもしれませんね。2.0.50で試してみます。
スレ違いで申し訳ありませんでした。

189:nobodyさん
04/07/06 18:02
>>188

シェル上で擬似的なパラメータを渡してテストとかしないの?
>Time関数を使用している箇所を除くと表示できるのですが。。
そこまでわかっているのなら簡単なサンプルでデバッガのお世話
になるとか?

190:147
04/07/06 18:11
>>189

うっ・・おっしゃるとおりです。。
問題の部分のみで再度チェックいたします。

191:nobodyさん
04/07/06 18:19
>>188
>>187はSSIのことね
CGIが出力したSSIが動くということ

>>147>>189タンの書いた通り
まずコマンドラインから実行できるかどうかチェックすべき

あとは、ヘッダを出力する前に落ちているのであれば
原始的な方法だけど、ヘッダを出力する場所を変えてみるとか
最初にヘッダを出力した場合動くかどうか

192:nobodyさん
04/07/06 18:21
>>188
機種依存文字を使うなと前にも言われただろ

193:nobodyさん
04/07/06 20:57
>>169
こんな暴言吐く人に回答する義理も無いわけで。
漏れはスルーしてたけど、ここの住民さんは意外と優しいのだな・・・。

194:152
04/07/07 08:18 Zb/loxvw
>>176

そうですよね・・・SSIにこだわる理由はないですね・・・
冷静に考えたらオーバーヘットもあるしSSIを出力する意味ないですよね。
素直にCでパースします。ありがとうございました。

>>俺様に暴言を吐いた有象無象ども

おめえら使えねえんだよ、アホ。
たいした知識でもねえのに出し惜しみするチンカスは一生すっこんでろボケ。

195:nobodyさん
04/07/07 09:28
なんだ、結局SSIで動かすことができなかったんだな(プ

196:152
04/07/07 10:55 Zb/loxvw
>>195

出来たけどお前には教えない(プ

197:nobodyさん
04/07/07 16:01
【厨房のための煽り煽られ講座】

言い返せないけど負けは認めたくない
  → ( ´,_ゝ`)プッ
  → 無知白痴は黙ってろ
  → 知能障害をおこす
  → 出来たけどお前には教えない(プ  ←>>152

198:nobodyさん
04/07/08 02:16
まぁ夏だからしょうがないのか・・・

199:nobodyさん
04/07/08 04:04
暑さはヒトをダメにする

200:nobodyさん
04/07/08 10:26 073/5w7j
そもそも今時CでCGIというのが不自然なんだから
変なのが湧いてくるのは仕方がない。

Cの入門者用に掲示板程度のサンプルを提供するのは意味があるかもしれんが
それ以上の高機能なものは大人しくperlかPHPで作ればいいんです。
CでCGIを開発出来ても誰も誉めてくれないし一銭にもならないのではないか?

          ,.. -―-- |
       ,.' ´ ``´  ̄ ``. .|
     ,. '´   ,   、   .|
   /   ,  l  i  ヽ \ .|
   / ./ /,'  !ヽ ヽ  ヽ. ヽ.|
  / / ./ l _⊥ヽ‐ヽ、'T''| |って書き込んだらC信者が何人か釣れるのカナ?
  {{ |  | レ'! ヽ\_\,,-,‐-.|
  l l l  | | |/Tハ    |::f;;}||
   !ヽN |、 | !` l:リ}     ‐'‐'.| 
      `!ヽN ヽ" `ー    .| 
      | | | `i - ..,.. '´''.|
        ! ! l,-┴/ハ   |
       ヽ N,. '´,.=El=、、/|

201:nobodyさん
04/07/08 13:45
【厨房のための煽り煽られ講座】

言い返せないけど負けは認めたくない
  → ( ´,_ゝ`)プッ
  → 無知白痴は黙ってろ
  → 知能障害をおこす
  → 出来たけどお前には教えない(プ  ←>>152
→ 釣りを始める ←>>200(>>152)

202:nobodyさん
04/07/08 19:05
C++っぽく・・・

bool urldecode(std::string &s){ //省略。}
struct form_pair
{
string name;
string value;
};
istream &operator >>(istream &is,form_pair &fp)
{
string s;
getline(is,s,'&');
if(is.fail() || is.bad())
return is;
string::size_type pos = s.find('=');
if(pos == string::npos)
{
fp.name = s;
fp.value = "";
}
else
{
fp.name = s.substr(0,pos);
fp.value = s.substr(pos+1,s.length()-(pos+1));
}
if(!(urldecode(fp.name) && urldecode(fp.value)))
{
is.setstate(ios::failbit);
}
return is;
}
typedef istream_iterator<form_pair> urldecode_iterator;

203:nobodyさん
04/07/08 20:14
( ゚д゚)ポカーン

204:nobodyさん
04/07/08 21:03
このスレもうだめぽ゚・(ノД`)・゚・。

205:nobodyさん
04/07/09 13:27
なんか、もう、ぬるぽだな

206:nobodyさん
04/07/11 02:25
>>205
ガッ

207:名無しさん@そうだ選挙に行こう
04/07/11 17:20 8T5rEfNa
URLリンク(puppy.cute.tc)の、
ReportBoardのCGIは何処のCGIですか?
似たCGIでもいいです。
わかる人がいたら教えてください。

208:名無しさん@そうだ選挙に行こう
04/07/11 17:34
>>207
板違い

209:nobodyさん
04/07/18 23:47
保守

210:C言語がイイよね?
04/07/28 23:38 UZklF3eT
CでURLエンコードするコードを考えてマス
文字列の中で2バイト文字だけ判別して
判別した文字を16進数にキャストしてやれば
出来ると思うのですが、具体的なコードが浮んできません。
ウマイコードあったら参考にさせてください。

211:nobodyさん
04/07/29 05:58
>>210
ここ↓の
URLリンク(www-cms.phys.s.u-tokyo.ac.jp)
「FORMデータの処理」「漢字コードの処理」を参考にしてまつよ。
他にも検索すれば出てくると思う。

212:GROAD ◆4C1MajRa36
04/07/31 11:59
ぬるぽ

213:nobodyさん
04/08/01 14:53
>>212
ガッ

214:nobodyさん
04/08/04 20:03
C++( string 使いたいだけで )でCGIを組んでいましたが、
エラーログに
malformed header from script. Bad header=\x1f\x8b\b: /home/****/hoge.cgi
とでます。"Content-type: text/html; charset=EUC-JP\n"
を出力する前に何も出力関係の関数は使っていません。
マシン負荷などに関係なくでます。
だいたいは正常に動作していますが、時たま程度のエラーですが気になります。

原因が解る方が居たら、お力を御貸し願いたい。
apache1.3.27、 gcc 2.95.2.1です。

215:nobodyさん
04/08/05 18:01
ヘッダ後の改行は2回だがまさか…違うよなぁ。

216:nobodyさん
04/08/06 00:00
で、当然、"\x1f\x8b"が何なのかはぐぐってみたんだよな?

217:nobodyさん
04/08/08 15:16
>>214 の自己レス

gzipをpopenで出力してた。
mod_gzipにしたら解決しました。

218:nobodyさん
04/08/08 20:39
>>217
解決おめ

219:nobodyさん
04/08/11 23:44
Fast-CGIを利用すると、更に速くなるのかな。

220:nobodyさん
04/08/11 23:57
むしろ使わないとPHPとかmod_perlより遅い。

221:nobodyさん
04/08/12 14:52 PHf7JWmC
(・∀・)renice!

222:nobodyさん
04/08/14 15:00 inflZLdK
>>220

まじで?なんでえ?

223:nobodyさん
04/08/14 17:15
プロセス起動コスト

224:nobodyさん
04/08/14 21:20
modではないPerlとかRubyよりは早い
コードがへたれだとそれよりも遅い

225:nobodyさん
04/08/14 21:23
( ゚д゚)ポカーン

226:nobodyさん
04/08/14 21:28
言語の違いにおける速さの差は線形だけど、
アルゴリズムの差は簡単に対数以上になっちゃうからね

227:nobodyさん
04/08/14 21:41
回るのは遅いけど何か書くと即効でレスが返ってくるんだよなここ
見てる奴は多いのかな

228:nobodyさん
04/08/14 21:42
粘着がいるだけだろ

229:nobodyさん
04/08/15 11:26
HPでCのCGIを使いたいのですが、
コンパイル時のコマンドは
gcc -o test.cgi test.c
でよいのでしょうか?

230:nobodyさん
04/08/15 11:55
>>229
HP-UXだとccだろ。


231:nobodyさん
04/08/15 12:15
>>229-230
ワラタ

232:229
04/08/15 12:39
HPはホームページの略で使いましたが…紛らわしいですね。
ccは使えないんですが…

233:229
04/08/15 13:24
とりあえず
gcc -o test.cgi test.c
でコンパイルして
テストしてみたのですが、エラーが出てしまいます。

パーミッションは755でcgi-binディレクトリにも入っているけど
エラー500が出てしまいます。

また、ソースも問題ないと思うのですが…

#include <stdio.h>

int main(void)
{
printf("Content-type: text/html\n\n");
printf("Hello");

return 0;
}
原因は何でしょうか?

234:nobodyさん
04/08/15 13:35
( ゚д゚)ポカーン

235:nobodyさん
04/08/15 14:55
エラーメッセージも書いてない香具師に釣られるなよ

236:nobodyさん
04/08/15 14:59
>>235
Internal Server Errorと言う答えになんの意味があるというのだ。

237:nobodyさん
04/08/15 15:00
\n -> \r\n\r\n

238:nobodyさん
04/08/15 15:00
Windowsかよ

239:nobodyさん
04/08/15 15:02
サーバと違うOSでコンパイルしてるんじゃないのか?
テキストモードでうぷしたりしてるんじゃないのか?
sshで接続してスタンドアロンで動くかどうかまず確かめろよ。
あとは考えるのマンドクセ。

240:229
04/08/15 15:04
確かサーバー側はLINUXだったので違うOSですね。


241:nobodyさん
04/08/15 15:10
サーバーでコンパイルするかクロスコンパイルでぐぐってね。
ばいばい。

242:nobodyさん
04/08/15 16:05
>>240
で、コンパイルマシンはHP-UXなのか?

243:229
04/08/15 23:43
コンパイルマシンはWINDOWSです…

244:nobodyさん
04/08/16 00:08
窓のアプリケーションがLinuxで動くわけなかろーがこのバカチンがー

マジレスすると、お前には無理なので諦めろ

245:nobodyさん
04/08/16 00:14
おまいら釣られすぎ

246:nobodyさん
04/08/16 00:18
>>244
Perlと同じ感覚なんじゃないかと

247:229
04/08/16 00:28
もうちょっと勉強してからやります。
Perlと同じような物だと思ってました…

248:nobodyさん
04/08/16 06:26
>>247
>もうちょっと勉強してからやります。
>Perlと同じような物だと思ってました…

プロの釣り師だな

249:nobodyさん
04/08/20 02:03
>>229 >>247
マジ釣られしてやろう。スクリプト言語は文字ベースの互換性があるが、
コンパイル言語はバイナリベースでの互換性を確保しなければならん。
よって、互換プラットホーム間でなければ動かん。
もっと勉強汁。

250:nobodyさん
04/08/21 11:33


251:nobodyさん
04/08/21 12:59
WindowsでGCC使ってクロスコンパイルかけたのかもしれないじゃないか。
100%ないけど。

252:nobodyさん
04/08/21 16:06
gccを使っているのは確かだ。

253:nobodyさん
04/08/22 23:49 OO5ezOdW
でもいかりや長介が逝っちゃったことに
変わりはない。

無念!

254:nobodyさん
04/08/23 09:54
>>253
コスモを感じる

255:nobodyさん
04/08/24 12:54
UTF-8の掲示板作ったら、出力サイズが2chに比べて2〜3倍になったorz
2chのhtmlを保存してUTF-8に変換してもまだ1.5倍。
マークアップしつこすぎたかな…。

<div class="res">
 <div class="data">
  <h3 class="name"><span class="number">5</span> <span class="label">投稿者</span> <a href="mailto:tokimushi@yahoo.co.jp" title="この投稿者にメールを送る">名前</a></h3>
  <ul>
   <li class="time"><span class="label">投稿時刻</span> 2004年08月07日(土)17時54分04秒</li>
   <li class="url"><a href="URLリンク(www.w3.org)" title="この投稿者のウェブサイトへ">HOME</a></li>
  </ul>
 </div>
 <div class="comment c3 kuma"><p>なんだかんだ</p></div>
</div>

256:255
04/08/24 12:56
誤爆すいません

257:nobodyさん
04/08/24 13:22
>>255
UTF-8の掲示板は重いから嫌

258:nobodyさん
04/08/30 09:03


259:nobodyさん
04/09/07 13:19


260:nobodyさん
04/09/07 22:17
ネタがありませんなあ

261:nobodyさん
04/09/08 00:54
こっちは微妙に伸びとる
スレリンク(php板)


262:nobodyさん
04/09/08 01:07
スレリンク(php板)

263:nobodyさん
04/09/26 01:20:15
遅レス
>>255
うほ、いいdiv厨

264:nobodyさん
04/09/27 13:16:42
カウンタを作ってるのですが
日にちがかわったら今日のカウントを昨日のカウントへコピーして
今日のカウントを初期化するIF分がわかりません
教えてください

265:nobodyさん
04/09/27 14:56:10
(  ゚,_ゝ゚)バカジャネーノ

266:nobodyさん
04/09/27 16:58:41
>>264
お前プログラム向いてないよ。サンプル漁る位しれ。

267:nobodyさん
04/09/27 21:25:52 yrxaF59A
釣れた!初めてなのに釣れちゃった!(AA略

268:nobodyさん
04/09/27 23:08:37
こんな活きの無い魚でそんなに喜ぶなよ

269:nobodyさん
04/10/01 15:04:26
活きの無い

( ´,_ゝ`)プッ

270:nobodyさん
04/10/01 16:56:12
4日も経ってからsageで煽るなって

271:nobodyさん
04/10/01 17:46:36 qscnRJvR
あのーPHPがアパッチのモジュールで動作するから早いって聞いたんですよ・・・

Cで書いてもCGIとして実行してたらプロセスとして実行するから結構負荷がかかっちゃいますかね・・・
でもCGI使わずにモジュールで動作するようにすればCの方が早いんですかね・・・

PHPの開発は日本人が多いから日本国内ではPHPの方が早いってことになってるんですかね・・・
それともベンチマークテストやったら実際に早いんすかね・・・

そこらへんをすっきり説明してくださる方おりませんか?

272:nobodyさん
04/10/01 17:48:41
なんか不勉強で人頼みな奴ほど速度を気にするように思うんだけど、
これってマーフィーの法則ですか。

273:nobodyさん
04/10/01 17:52:03 qscnRJvR
はいーわたしはマーフィーの法則にしたがって行動しております。

補足なんですけど〜CGIもモジュールですよね〜
PHPのそれはどんなモジュールなんですかね〜
PHPより高速になるCGIモジュールってありますかあ?

274:nobodyさん
04/10/01 17:53:56
裏が取れないという点ではそうかも
背景としては、本来速度を気にする人ってのはハードなシステムを組まされてる人なんだけど、
この手の輩は四六時中ボトルネックを探してるので、何すれば早くなるかとか、早いってのは
どういうことかとか正攻法で理解してて、あんま質問を垂れ流さないってのがあるんだと思う

ところで最近はチューンするにしてもApacheのモジュールにしちゃうこと減りましたね
ってこのネタもスレ違いかorz

275:nobodyさん
04/10/01 17:54:54
>273
うっぜ
死ねカス

276:nobodyさん
04/10/01 18:04:01 qscnRJvR
あれへんだなあ・・

何言ってるかわかんなくなってきちゃった・・・・
でもさあPHPってHTMLに記述するスクリプト言語ですよねェ〜

それをパースして実行するんですからあきらかにコンパイルしたCの
プログラムの方が早そうに思えるんですけどねエエ・・・・

277:nobodyさん
04/10/01 18:07:17 qscnRJvR
>>275

ウゼェ じゃないんですかああ?
うっぜってどこの方言ですかアア??

やぱありCGIでPHPを使った方がいいんですかねえ・・・
どうなんですかねええ
優秀なみなさ〜〜ん

278:nobodyさん
04/10/01 18:09:14
phpをネタに持ってきた時点で脳が古い。
センスもなし。

279:nobodyさん
04/10/01 18:18:02 qscnRJvR
>>272

あ〜ちなみにおくれつっこみですけどお〜〜
それはマーフィーの法則とはいいませんよ〜
それは272さんとその仲間達(272本人かも・・)の法則ですよ〜〜

それとも次ぎのマーフィーの法則に載るんですかあ〜〜
それともマーフィーの法則っていっとけばカッコイイと思ったんですかあ〜

マーフィーの法則をネタに持ってきた時点で脳が古いですよ〜
扇子あげましょうか?

280:nobodyさん
04/10/01 18:23:01
>>274
2chでのやりとりなんてほとんどマーフィーの法則に嵌ってるだろ。

281:nobodyさん
04/10/01 18:29:10
>>278
昔はPHPなら速度比較と処理負荷だけで飯五杯はいけたんだが・・・
もはや残ってる部分といえばコードキャッシュネタくらいか
Cでおかずになるネタは・・・このスレの伸びが何かを語っているな・・・

282:nobodyさん
04/10/01 18:31:49
>>280
それ自体もそうでつか

283:nobodyさん
04/10/01 18:35:57
たいていがマーフィーの法則に当てはまることが法則ってのじゃ利用価値ないじゃん。
どうでもいいけど昔、マ板かどっかにCのコーディングにありがちな「マーCの法則」スレとか無かったっけ。
田代がまだ只の人だったころの話なのだが。

284:nobodyさん
04/10/01 18:48:52
>>283
そりゃ田代本人が出した本のタイトルじゃないのかw
PHPは旬過ぎたけど user ml がまだまだアツイぜ

285:nobodyさん
04/10/01 19:01:49
スレリンク(news板)
反応が薄いな

286:nobodyさん
04/10/19 10:52:37 eOcRyqWU
Apache2のWinネイティブなCGIでActiveXEXEと
やりとりってできないんでしょうか?
CGIを普通に起動する分にはちゃんとできてるのですが・・・
いちおうApacheのサービスは「デスクトップとの対話を許可」してあります

287:nobodyさん
04/10/21 10:38:39 GNUlgmPe
cとphp

おれはcの方が早いと信じたい!

288:nobodyさん
04/10/21 23:49:17
>>286
なにがやりたいのかいまいち不明

289:nobodyさん
04/10/24 21:41:04
アルゴリズムによってはCの方が早くなるんじゃないだろうか

url文字列のほうは良いんだがmultipart/form-dataのクラスをどういう構造にしたら分りやすいかちょっと悩む
ただの文字列はoperator[]でファイルのときはファイルの情報を持ったオブジェクトを返すでいいかな

290:nobodyさん
04/10/24 21:57:41
車輪の再開発してないで既存のライブラリ使えよ

291:nobodyさん
04/10/27 11:54:00
単純で良い物が無い

292:nobodyさん
04/10/27 23:05:12
単純でよければ自作すればいいじゃーん

293:nobodyさん
04/10/27 23:06:32
だからしてるんじゃないか

294:nobodyさん
04/10/28 06:15:52
このスレはドリフだな

295:nobodyさん
04/10/30 02:13:13
>>289
自分が使いやすい/使いたいように作れば、それで良いと思うよ

296:nobodyさん
04/10/30 02:26:46
C++でCGI作ろうと思ったけど全然ライブラリが揃って無くて駄目だね。
Perlならcpanでサクサク拾えるのに。

297:nobodyさん
04/11/02 10:30:42
>>296
Cのライブラリを使えばいいじゃん

298:nobodyさん
04/11/30 12:32:26 q4147YdE
レスポンスがあるかわかりませんが..

POSTで受け取った文字が化けるのでiconv使って変換をと思ったんですが

iconv_t icv_hook;
char *inp;
char *outp;
size_t ret_val;
size_t in_buf_left;

memset(out_buf, 0, BUFSIZ);
in_buf_left = strlen(in_buf);
out_buf_left = BUFSIZ;

ret_val = iconv(icv_hook, inp, in_buf_left, outp, out_buf_left);
警告: 互換性のないポインタ型からの引数 2 個の `iconv' を渡しますです
警告: 引数 3 個の `iconv' を渡しますにより、キャストなしで整数からポインタを作りました
警告: 互換性のないポインタ型からの引数 4 個の `iconv' を渡しますです
警告: 引数 5 個の `iconv' を渡しますにより、キャストなしで整数からポインタを作りました


URLリンク(docs.sun.com)
これの通りにしたのに
どこがおかしいのでしょうか?

299:nobodyさん
04/11/30 13:42:39
>>298
char *とchar **は違う。

300:nobodyさん
04/11/30 19:18:07 q4147YdE
どうもありがとうございます。

char *とchar **は違うとはわかりますが、ではどこをどう直せばよいのでしょうか?
宣言時にchar**とやったり、キャストを入れてみてもやはり警告が出ます。

コンパイルは通りますが、実行時に
iconv()を呼ぶときに必ず
「セグメンテーション違反です
のエラーが出ます

301:nobodyさん
04/11/30 19:56:28
>>300
const char *inp;
char *outp;
(中略)
ret_val = iconv(icv_hook, &inp, in_buf_left, &outp, out_buf_left);

302:nobodyさん
04/11/30 20:09:48
>>301

char *inp;
char *outp;
ret_val = iconv(icv_hook, &inp, &in_buf_left, &outp, &out_buf_left);

なぜか指示どうりではだめでしたがこうやったら正しく実行できたので
とりあえず報告します。


303:nobodyさん
04/11/30 20:20:55
>>302
初めて使う関数は、きっちりmanを見たほうがいいよ。
副作用のこともあるし。

URLリンク(www.linux.or.jp)
これはLinuxのだけど。

304:nobodyさん
04/12/03 15:18:44
C/C++ CGIで、最初に1回だけユーザ認証をやって、
その後同一の実行ファイル上で、ログイン状態を維持する

これを実現するための考え方と、参考になるソースを教えてください。


305:nobodyさん
04/12/03 22:30:06
>>304
同一の実行ファイル上ってのがよくわからない。
言葉通りに解釈すると、Cookieにそのファイルのpathを設定すればいいだけだけど。


306:nobodyさん
04/12/04 00:34:37
PHPのセッション管理のような仕組みを作っちゃえば楽なんだろうけど、作るのは楽じゃない。

307:nobodyさん
04/12/05 06:35:51
>>304

>>305に1票、もしオレがやるなら、やっぱ Cookie使う。
セッション管理より楽だし。
厳密性を求めるのは厳しいけど、ユーザ認証が目的なら、
同じブラウザを使ったかどうか分かる Cookieは充分有効な手段でしょ。

308:nobodyさん
04/12/05 06:40:37 4YEMHaP5
>>304
ソースくらい検索してほしいが、オレのブックマークにこんなのが入っていたので参考までに。
URLリンク(sometime.minidns.net)

309:nobodyさん
04/12/05 06:41:11
sageるつもりだったがついうっかり・・・ OTL

310:305
04/12/05 10:05:05
> C/C++ CGIで、最初に1回だけユーザ認証をやって、
> その後同一の実行ファイル上で、ログイン状態を維持する

通常、CGIプログラムはリクエスト毎に終了してしまうので、
プログラム内の変数にログイン状態のデータを維持する事は出来ない。

そこで、データの永続化。
具体的には、ファイル、データベース、共有メモリでもなんでもいいので、
CGIプログラムが終了してもデータが残るような媒体にデータを記録する事になる。

その際、Process IDやIP address等からユニークなIDを作成し、
このIDをキーとしてログイン状態などの情報を記録する。
同時に、このIDをセッションIDとしてブラウザのCookieに設定させることで、
認証を済ませたユーザかどうかを確認する。これがセッション管理。

一度認証を済ませたあとは、
ブラウザが送ってくるCookie(CGIの場合は環境変数などに設定される)
のセッションIDと一致するキーのデータを引き出し、そのログイン状態を確認すれば良い。


>>306
簡単なセッション管理の実装で、
セッション毎に./session/$SESSION_ID$ ファイルを作成するとかはどうだろう。

>>307
>>305は、一応、セッション管理を前提に書いてました。
"同じ実行ファイルの上で"が同一URL上でという意味ならCookieのpath設定だけで済むかと思ったので。


311:nobodyさん
04/12/05 11:23:18
URLリンク(sometime.minidns.net)

312:nobodyさん
04/12/05 16:32:23
普通にクッキーデコーダクラス作ればいいだけの話じゃん。
おいらはurl_decodeクラスとそこからget,post,cookieの継承クラス作ったけど。
データ構造は自作二分木

313:nobodyさん
04/12/05 17:12:51
そういう手続き型のはモジュールでやったほうがいいと思われ

314:nobodyさん
04/12/05 17:17:25
>>313
そうか?
ヘンテコな抽象化だなとは思うが、リクエストとかユーザステートみたいな
他の設計クラスとかち合わなきゃどうでもよくね。
クラス=メソッドってOOとしてはNGだけど、Cppなんだし。

315:nobodyさん
04/12/05 17:28:03
C++はオブジェクトをとるかデータ構造をとるかでよく迷わされる
Cでやることも考えるなら、そう迷うこともないけど

316:nobodyさん
04/12/05 17:30:13
おいおいLispスレが立ったぞ。ドンケツ脱出だな。

317:nobodyさん
04/12/05 18:46:29
>>316
ACLかよw
そりゃ間違いなく脱出だが

318:304
04/12/07 09:58:50
アドバイスありがとうございます。
色々試してみます。


319:nobodyさん
04/12/25 01:16:54
みんなUTFとか使ってる?

320:nobodyさん
05/01/19 15:43:33
((void *)0)

321:nobodyさん
05/01/21 13:43:21 Z6ezIjZ/
ばかばかしい質問かもしれないんですが
bluequartz上でC/C++ cgiがどうして動かせなくて困ってます。

gcc バージョン 3.3.2 20031022 (Red Hat Linux 3.3.2-1)
もちろんapacheは動いています Server version: Apache/2.0.51

コンパイルしたファイル(xxx.cgi)はコマンドラインからは実行できるのですが、
これをブラウザから見ようとすると、 「xxx.cgi ファイルを保存しますか?」
となってしまいます。
どこがおかしいのでしょうか

何か見落としているかも知れないので指摘いただきたいです


322:nobodyさん
05/01/21 15:52:04
>>321
content-typeが変なのになってるんじゃないでしょうか。

323:321
05/01/21 16:58:47
普通に
Content-type: text/html
です。

テスト用に時刻表示するやつを作ってみましたが
以下のテキストを吐き出すだけです。
Content-type: text/html

<html>
Fri Jan 21 16:53:21 2005
</html>

これもブラウザから見ようとすると
やっぱりファイルを保存しますか?となってます


324:nobodyさん
05/01/21 17:39:21
>>323
保存したファイルの中身は?

325:321
05/01/21 18:10:27
>>324
保存したファイルの中身を見てみましたが実行用のバイナリファイル
そのものだと思います。
出力結果とかが保存されてるわけではない(と思う)です



326:nobodyさん
05/01/21 18:44:53
AddHandlerは?

327:321
05/01/21 18:56:11
今のところこうなってます

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
.....
AddHandler cgi-script .cgi
AddHandler cgi-script .pl



328:nobodyさん
05/01/21 22:24:50
>>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さん
05/01/22 07:40:07
>>327
Perl CGIは実行できてるんだよね。

330:321
05/01/22 11:24:45
すみません
今確認してみたらPerlCGIも実行できてませんでした...



331:nobodyさん
05/01/22 13:33:32
どこに置いて実行しようとしているんだ?

/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さん
05/01/22 13:34:34
あるいはユーザディレクトリなら別の部分で設定しなきゃならんよ。

333:nobodyさん
05/01/25 07:56:51 hWOf15Pd
>>304さんに便乗して質問です。
ログイン情報を記録する方法はわかったんですが、
クライアントが適切なログオフ処理をしなかったらセッション管理用のファイルは残りますよね?
例えば、クライアントがブラウザを閉じたらサーバ側で勝手にログオフ処理、なんてことは出来ないでしょうか?

334:nobodyさん
05/01/25 08:11:21
絶対無理っしょ。
時間制限でタイムアウトするくらい。

335:nobodyさん
05/01/25 09:11:15
普通は>>334の方法でやるね。

336:333
05/01/25 10:01:05
わかりました。一時間リクエストがなかったらログオフするようにしたいと思います。
ありがとうございました。

337:nobodyさん
05/01/25 16:55:53
クッキー使えばええやん

338:nobodyさん
05/01/26 09:08:53
>>337
どうやって?
クッキーつかってもクライアントがブラウザ閉じたかなんてサーバー側では
判らんと思うが?

339:nobodyさん
05/01/26 15:10:15
有効期限を過去に設定すればブラウザを終了させた時点でクッキーが消える。

340:nobodyさん
05/01/26 15:17:37
>>339
だから?

341:nobodyさん
05/01/26 15:48:12
>>340
少しは頭を働かせたら?

342:nobodyさん
05/01/26 16:06:10
>>341
お前が一番頭が働いていないようだが

343:nobodyさん
05/01/26 16:11:38 /NT/JEVZ
>>339
クッキーは消えてもサーバのセッションファイルは残るんだよ。
それをどうすればいいかを考えてるの。
ちなみにPHPでは
session.gc_maxlifetime = 1440
とかで時間を指定してガベージコレクションしてる。


344:nobodyさん
05/01/26 16:26:34
>>339
消えても次にアクセスがあった時にクッキーがあるかどうかの
判断に利用できる程度だろ。
そういう話をしてるんじゃないの。

345:nobodyさん
05/01/26 16:43:31
337が言っているのはセッションを使わずに、という意味だと思うが。

346:nobodyさん
05/01/26 17:01:46
>>345
そうか
>>337言葉が足りないんだよ

347:nobodyさん
05/01/26 17:07:30
>>345
だとしても的外れには違いない。

348:nobodyさん
05/01/26 17:10:17
>>346
確かに。

349:333
05/01/27 00:23:16
なんか種を蒔いちゃったみたいですいません…
自分としてはユーザ毎にデータファイルを必要とするプログラム書こうと思うんで
やっぱりタイムアウト処理になると思います


350:nobodyさん
05/01/27 12:24:39
当分はこのスレ下がるばかりか・・

351:nobodyさん
05/01/27 13:55:33
てかもはやCとかC++の話じゃなくてCGI一般の話ジャン

352:nobodyさん
05/01/29 01:15:48
すっかりCGIの話なのでアレだが、
Flash埋め込んでSocket通信させるってのはどうよ。
>ブラウザを閉じたらチェック

353:nobodyさん
05/02/15 23:46:08
cgiでscanf使えますか?

354:nobodyさん
05/02/17 07:25:27 27dZ6TGB
質問させて下さい。
フォームから受け取った値をgetcharで読み込んでいるんですが、
「 , 」が%2Cになってしまいます。どうすればいいでしょうか?

355:nobodyさん
05/02/17 08:36:36
>>354
%2Cを , に変換すればいい

356:354
05/02/17 11:16:54
>>355
ありがとうございました。
URLエンコードという言葉を今日はじめて知りました。。。

357:nobodyさん
05/02/18 23:50:55
>>353
標準入力に対するものだから、使える事は使えると思う。
が、入力書式が CGI とは合致しないわけだから、>>354がトライしているように、
getchar とか使って URL エンコードを自前 or ライブラリでやる方が
モアベターだと思う。

358:nobodyさん
05/02/20 17:03:47
scanfなんてBOF問題バリバリの関数を使うなよ…

359:nobodyさん
05/02/20 20:42:33
ろくに知識がない奴ほど↑みたいな書き込みをするね。

360:nobodyさん
05/02/21 11:04:26
>>358
問題を理解した上で、自分の目的を満たすにはこれが良い、と思ったんなら、
どんどん使えば良い。と思うぞ。

包丁なんて怪我しやすい道具を使うなよ…

なんて言わないべ?フードプロセッサー使ったって良いんだけどさw

361:nobodyさん
05/04/23 18:11:42
質問です
今までPerl,PHP等やってきて最近C言語でCGIスクリプト作成をはじめましたが、排他処理は一般的にはどの手法を使いますか?
やはりフォルダを作成する方法ですか?

362:nobodyさん
05/04/24 21:13:21 WkqhPVlv
VCでHelloWorldのテストCGIを作ったところ、111kBでした。
同じくLSICでコンパイルすると17kBでした。(500で動きませんでしたが。)

なぜこんなにサイズの差があるのですか?もっと減らす方法はありませんか?

363:nobodyさん
05/04/25 00:23:01
>>362
MS-DOSとWin32の違い

364:nobodyさん
05/04/27 01:22:34
>>362
VC++のほうがデバッグモードになってないか?

365:nobodyさん
05/04/27 10:44:49
>>362
やってみたら
Debugで160k
Releaseで40k


366:362
05/04/27 21:39:50
うわ、本当だ…
お騒がせしました

367:nobodyさん
05/05/19 21:48:26 GAjOQJM0
今晩は、スレで度々話題になってるようですが、いまいちわからないので質問させてください。画像ファイルの質問です。
<input type="file">でjpegやGIF、BMP画像をpostで送信した場合、標準入力に他の文字列等と同様name=に画像ファイルデータ
が送られているのでしょうか?その画像ファイルはどの様に処理したらいいのでしょうか?ご教授ください

368:nobodyさん
05/05/19 22:14:38 EjA+9pug
URLリンク(z57.2)<)?-121-74.?pp.??kw?k.ne.?pうへへ。

369:nobodyさん
05/05/20 10:35:30
>>367
CのCGIライブラリでも使え
検索したらあるはず

370:367
05/05/20 15:58:18 UC8INN3X
>>369
CGI用のライブラリーってありますけど製作者のあくがつよすぎて理解するのが大変なんですよね・・・
なんで自分で関数から作った方がいいと思ってるんですよ・・・勉強にもなるし。

371:nobodyさん
05/05/20 16:16:48
>>370
だから、そういったライブラリがあるだろ。
アクが強いとか関係無しに、どういう仕組みかが分かってないから
>>367のような質問をしたんでしょ?

既に動いてるライブラリのソースコードを読めば、そこに答えなりヒントがあるでしょ。
それを応用して自作すればいい。

アクが強いとか理解が大変とか言ってるが、結局、頭悪いだけじゃん。

372:nobodyさん
05/05/20 16:23:25
>>367
URLリンク(www.gnu.org)
つかっとけ。

書き込み見る限り、君のおつむじゃこれよりもまともなのを作るのは無理。

373:nobodyさん
05/05/20 17:27:26
>>367
URLリンク(www.boutell.com)
GDライブラリ開発してるところ
2.0からファイルアップロードに対応してる

374:367
05/05/21 07:08:21
やれやれ・・
コード読め?
読むような質問じゃあないだろうに。あほ
コード読め、コード読め、って猿の一つ覚えのような回答しかできないんだったらだまってろよ。
そのほうが百倍有益w

375:nobodyさん
05/05/21 10:33:25
aso

376:nobodyさん
05/05/21 16:05:50
>>374
読まなくていいから、パクれ。

377:nobodyさん
05/05/21 17:00:57
だれも「読め」とは言ってないが。

日本語は読めて、理解できるよね?理解の方がおぼつかないのかな?
そういうのは十代のうちになんとかしといたほうが良いよ。本当に。

378:nobodyさん
05/06/02 04:47:54 tNFRcCbR
getenv("PATH_INFO")で文字列取る時に
事前に長さが分からないから異常に長いURLでアクセスされたらやばくない?
と思うんだけど。
このPATH_INFOの文字列のポインタが分かればstrlenで長さを求めて弾くなり必要量mallocするなり出来るけど、
値しか分からないよね?
普通はどうやってこの問題を回避するの?

379:nobodyさん
05/06/02 07:21:13
getenvを使ったことがある人からは
そんな疑問は出ないはずだが

380:nobodyさん
05/07/24 09:53:58 FFgeh8au
話題がないお

381:nobodyさん
05/07/25 08:35:49
>>378
亀さんのレスです
Apache様が長いURLは規制してくれています

382:nobodyさん
05/07/25 23:47:14 bB/wQjJG
自分のサイトがF5アタックにめちゃくちゃ弱いことに気づいた。
セッション管理のためにページを開くたびにMySQLに問い合わせに行ってるのですが、もっと良い方法があるのでしょうか?

383:nobodyさん
05/07/26 07:44:25
防御コード書けばいいじゃん。

384:nobodyさん
05/07/26 12:18:15
>>382
CでMySQLへの問い合わせってどうやるの?
出来るなら今度やってみよ

385:nobodyさん
05/07/26 15:24:03
>>384
MySQL純正の接続ライブラリを利用するなら、
それをラップしてる他の言語で慣れてる人ならアホ程簡単。

386:nobodyさん
05/07/26 20:27:09
>>384
このへんだろうね。
URLリンク(www.softagency.co.jp)
URLリンク(dev.mysql.com)

私もCで接続したこと無いけど。

387:nobodyさん
05/07/27 15:50:58
>Cで接続

(;´Д`)ハァハァ

388:nobodyさん
05/07/28 07:20:11
ボキもSegmentation faultで泣かされますた

389:nobodyさん
05/08/25 07:40:55 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さん
05/08/25 07:43:44 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さん
05/08/25 08:19:05
stdioのバッファリング

392:nobodyさん
05/08/25 13:08:38 URNXAJj0
>>391
なるほど!
ありがとうございます。
fflushで、解決いたしました。


393:nobodyさん
05/08/26 20:14:39 Tl6OQEOB
最近C/C++CGIって廃れてるよな…

394:nobodyさん
05/08/26 20:16:53
あえて言おう。

廃 れ て な い 時 が あ っ た の か ?

395:nobodyさん
05/08/26 22:30:48 phIbl7Mf
■■■■■■■■■■■■■■■■■■■■■■
VIPの馬鹿大学生が市役所に内定!「俺は神」「彼女二人いる」などDQN発言全開。
その後、どの市役所か特定されたような書き込みがあり、本人逃亡!!w


地元市役所に内定した俺様は神!
スレリンク(news4vip板)l50


その後、公務員板にも、本人を特定するためのスレが立つww


【市役所合格】こいつ誰だかわかる?
スレリンク(koumu板)l50


調子に乗った馬鹿VIPPERの哀れな運命、見るだけでも見に来ない?w
■■■■■■■■■■■■■■■■■■■■■■




396:nobodyさん
05/09/03 14:14:39
>>393
やっぱライブラリ不足が原因だろう。
cgiccってでかい割にほとんどなんも出来ないし


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5140日前に更新/150 KB
担当:undef