トップページ⇒php
1001コメント291KB

△▲ WebProg 初心者の質問 Part10 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/09/20 07:35:23ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-3

前スレ
△▲ WebProg 初心者の質問 Part9 ▼▽
http://pc5.2ch.net/test/read.cgi/php/1086715675/
0367nobodyさん04/10/13 20:08:15ID:???
>>363
forkな。

>>365
WinでもApacheを使うかぎりは同じだろう。
IISはしらん。
0368nobodyさん04/10/13 20:36:42ID:???
異議あり!!
0369nobodyさん04/10/13 20:41:52ID:???
>>367
IISは?
0370nobodyさん04/10/13 21:48:13ID:???
apache2だとforkしないバージョンもあるよ、
0371nobodyさん04/10/13 22:39:11ID:hqX2Bxp3
FastCGIとかも考慮に入れてやろうよ
0372nobodyさん04/10/14 01:28:32ID:???
preforkでmod_*使うよりworkerでCで書いたCGI動かすほうがサーバの負荷はずっと低いしスケーラビリティも高いよ。
037334904/10/14 02:01:26ID:???
返事くださった方ありがとうございました。
>356氏の方法でできました!
でもなんか邪道な方法みたいなので、配列使ってやる方法も考えてみることにします。
ホントに助かりました。ありがとうございました。
0374nobodyさん04/10/14 05:04:29ID:5rqmpAoj
フォームでデータを送り、ファイルに書き込み、別フレームに
表示させるという事をしたいのですが、
送信ボタンを押すと、その度にアラート(ダイアログボックス?)が
出てきて確認を求められてしまいます。

そこで、送信ボタンを押す度に
javascriptで location.reload() をして、別フレームの
内容をリロードしたら上手くいきました。

が、5回に3回くらいの割合で、書き込んだ内容が反映されません。
一応METAタグでキャッシュもしないようにしたのですが、
全く効果がありません。

何か分る方いたら教えてください。
すれ違いでしたら、誘導お願いします。
0375374 補足04/10/14 05:07:30ID:???
>書き込んだ内容が反映されません

別フレームに反映されないという事です。
0376nobodyさん04/10/14 08:10:11ID:???
アラートの内容は?
0377nobodyさん04/10/14 09:11:35ID:???
>>374
response bodyはちゃんと来てんの?
0378nobodyさん04/10/14 11:27:11ID:???
mod_perlは、Perlに対応している鯖なら動くものなのですか?
037937404/10/14 12:47:26ID:???
アラート内容:
「情報を再送信しないとページを更新できません」
という内容のものです。
再試行かキャンセルか選ばさせられます。

>>377
response bodyが分かりません。
良かったら教えて下さい。
0380nobodyさん04/10/14 15:41:35ID:???
>>378
逆。Mod_perlがPerlを処理するの。

>>379
httpのmessage-bodyのことでしょ。
ちゃんとレスポンスコードも調べた方がいいかと。
0381nobodyさん04/10/14 19:52:59ID:???
>>380
> >>378
> 逆。Mod_perlがPerlを処理するの。

多分そういう意味で質問してるんじゃないと思う。
0382nobodyさん04/10/14 21:42:18ID:01k5vmu6
自分でサーバー立てて独自ドメインのメールマガジン(?)を発行したいのですが、
どうしたらいいでしょうか?
一番知りたいのは、メールマガジン発行に関しての仕組みみたいなものです。

自分でしようと思ったのは、
アダルト系のメールマガジンを発行したくて、でも広告を全く入れたくないという理由です。
(営利目的じゃないので)

現在の俺のレベルは、
・Apacheでサーバーを立てられる。
・PerlでCGIを組める。
・C言語が微妙に使える(WinSockでの通信可)
・SMTPサーバーに接続してメールの送信ができる(添付ファイルはまだ送ったことがありません)
・SendMailは名前だけ聞いたことがある。
です。
どれが必要でどれが必要でないか分かりませんが、とりあえずできることを書いてみました。

発行したいメールマガジンは、HTML形式とTEXT形式です。
同内容で、申し込み時に選択したほうが配信されるようにしたいと考えています(但し画像は無し)

自分で考えたのは、
登録に関してはCGIで処理をして、
発行に関してはメーラーみたいな送信専用のツールを作って登録されたメールアドレスに対して
順番に送信していく・・・・という形のものですが、
それでいいのでしょうか?
それでいいというか、一般的なメールマガジンではそうやって発行しているのでしょうか?
0383nobodyさん04/10/15 00:54:56ID:???
SMTPサーバーを立てられる。
DNSサーバーを立てられる。
この2つを追加すればできるのでは。
0384nobodyさん04/10/15 21:11:15ID:???
>>382
MTAを使いこなせるようになると幸せかも
038538204/10/15 23:27:55ID:???
ありがとうござます。

>>383
ということは、自分で考えたやり方でだいたい合っているということですね。
SMTPサーバーはまだ立てたことがないので、
とりあえずサブドメインでSMTPサーバーを立てて練習してみます。

>>384
"MTA"は初めて聞きました。
調べてみます。
0386nobodyさん04/10/16 10:51:37ID:???
PerlやC等で書かれた一般的なCGI(カウンタや掲示板など)をApacheで走らせたらメモリはどれくらい使用するんですか?
負荷が高いといわれるCGIゲームも知りたいです。
0387nobodyさん04/10/16 10:56:09ID:???
>>386
なぜ計らないの?
0388nobodyさん04/10/16 10:59:07ID:???
なぜメモリ計るの?
0389nobodyさん04/10/16 11:06:40ID:???
>>387
計り方がわかんないんです。('A`)
0390nobodyさん04/10/16 12:11:01ID:???
じゃあ気にしなくてよし
0391nobodyさん04/10/16 22:59:59ID:???
rubyつかってるとだんだんcを覚えなきゃならん気がしてくるのはなぜに?
0392nobodyさん04/10/18 00:45:21ID:???
すべての道は C に通ずる。
0393nobodyさん04/10/18 02:33:04ID:???
>>389
だからそういうときは「自分で計ってみようと思うので計り方を教えてください
ちなみにOSはこれこれで云々」とかいう風にお願いしろって。

実際メモリの使用量は環境によって大きく違う。
Perl も 5.005 と 5.8.5 では結構違う。
0394nobodyさん04/10/18 08:03:49ID:???
plファイルについて質問です。
HTML出力用モジュールにあたるplファイルの記述を変更してUPロードしたところ
500internal server errorになって表示できませんでした。最初は私の記述ミスかと
思いましたが試しに、ファイルを全くいじらずに「開く」→「保存」しただけで
UPロードしてみたところやはり500になってしまいました。つまり「保存」するだけで
だめなようです。他のplファイルは大丈夫なのですが・・・。エディタもワードパッド、
dreamweaver、と変えてやってみましたがダメでした。

長くなってしまいましたが原因のわかる方教えてださい。お願いします。
0395nobodyさん04/10/18 08:32:32ID:???
文字コード・改行コードじゃねーの
039639404/10/18 09:02:19ID:???
>>395
すみません、どうやって操作すればよいのでしょうか?
039739404/10/18 09:14:12ID:???
そのファイルをテキストファイルでUPしておきます。
参考になるかどうかわかりませんが・・・

http://p-maniac.hp.infoseek.co.jp/sample.txt
039839404/10/18 22:32:59ID:???
解決しました。
>>395
改行コードを変更したら直りました。
0399nobodyさん04/10/19 04:03:03ID:L2S4WNHR
複数の変数をサブルーチンで取り出そうと思ったんですがうまくいきません。
どうダメだったんでしょうか、採点お願いします。
1.key、2.key、3.key、、、というファイルを読み込んで、
それぞれの内容を出力するcgiです。

LoadKey(1);
LoadKey(2);
LoadKey(3);
 ・
 ・
 ・

sub LoadKey
{
open($_[0]KEY, "./$_[0].key") or die("エラー:ファイルが開けません");
eval{flock($_[0]KEY, 2); };
${$_[0]key} = <$_[0]KEY>;
close($_[0]KEY);
}
print $1key$2key$3key…;
0400nobodyさん04/10/19 04:04:58ID:L2S4WNHR
>>399追記です。
サブルーチンを使わずに
「$_[0]」の値を個別に数値を手入力していった場合は
正常に動きました。
0401nobodyさん04/10/19 04:41:32ID:???
>「$_[0]」の値を個別に数値を手入力していった場合は正常に動きました。
朝マズメ?
0402nobodyさん04/10/19 07:37:52ID:???
$_[0]KEYじゃなくて${$_[0].'KEY'}かな??
てか、変数で$の直後に数字はダメって覚えてるんだけど、違った?
0403nobodyさん04/10/19 12:02:15ID:L2S4WNHR
>>401
わかりにくくてすいません。
こんな感じではちゃんと動いたということです。

open(1KEY, "./1.key") or die("エラー:ファイルが開けません");
eval{flock(1KEY, 2) };
$1key = <1KEY>;
close(1KEY);

open(2KEY, "./2.key") or die("エラー:ファイルが開けません");
eval{flock(2KEY, 2) };
$2key = <2KEY>;
close(2KEY);

open(3KEY, "./3.key") or die("エラー:ファイルが開けません");
eval{flock(3KEY, 2) };
$3key = <3KEY>;
close(3KEY);

print $1key$2key$3key…;

>>402
例としてわかりやすいように、1、2、3、、、と書きましたけど、
実際作ったのは、ファイルハンドルも変数も、文字列です。
0404nobodyさん04/10/19 12:20:15ID:???
>>403
ファイルハンドルは開けて閉じてんるんだから
いちいち変数で生成する必要ないでしょ
問題切り分ける為にこれでやってみそ

LoadKey(1);
LoadKey(2);
LoadKey(3);
 ・
 ・
 ・

sub LoadKey
{
my $file = "$_[0]". '.key';
open(KEY, "./$file") or die("エラー:ファイルが開けません");
eval{flock(KEY, 2); };
my $result = <KEY>;
close(KEY);
print $result;
}
0405nobodyさん04/10/19 14:17:27ID:L2S4WNHR
>>404
どうもありがとうございます。

LoadKeyで取り出した変数は、
実際には
print $1key$2key$3key…;
と列挙するだけではなく、他にいろいろと使うんで、
LoadKey内でprintするのはちょっと…
申し訳ないです。
0406nobodyさん04/10/19 14:21:00ID:L2S4WNHR
あ、ファイルハンドルに変数が必要ないというのは了解です。

でも、
${$_[0]key} = <KEY>;
この${$_[0]key}  (←$1key、$2key、$3key)は後で使うんで、
ここをどうにかする方法はないでしょうか。
0407nobodyさん04/10/19 15:22:20ID:L2S4WNHR
何度もすいません。解決しました。

$1 = LoadKey(1);
$2 = LoadKey(2);
$3 = LoadKey(3);

sub LoadKey
{
open(KEY, "./$_[0]". ".key") or die("エラー:ファイルが開けません");
eval{flock(KEY, 2); };
$key = <KEY>;
close(KEY);
return $key
}

戻り値を変数に代入していく方法でなんとかやりました。
どうもありがとうございました。
0408nobodyさん04/10/19 16:58:47ID:???
変数の頭に数字使うな
その用途なら配列使え
040940404/10/19 19:48:01ID:???
>>407
変数名を自動生成するする、ってperlやり始めは
陥りやすい発想なんだけど、邪道です。
全体がわからないのでなんともいえないけど、
408さんの言うように配列にプッシュして使いまわすとか
なんだとかいろいろ方法を工夫すべき。
0410nobodyさん04/10/19 21:07:53ID:rsszw8bs
たいてい配列かハッシュで済むからなぁ。
変数名を生成してどうこうって汎用デバッグツールでも
作るんじゃなけりゃ普通は使わないと思う。
0411nobodyさん04/10/19 21:52:02ID:mfo1mlCk
crypt関数で暗号化した暗号って逆解析できないのでしょうか
0412nobodyさん04/10/19 21:57:51ID:???
解析の逆ってなんだろう?
0413nobodyさん04/10/19 22:11:43ID:???
暗号化だろ
0414nobodyさん04/10/19 22:36:51ID:???
暗号化<->復号化
041541104/10/19 22:41:56ID:vzy6JucQ
複合化ってできないのでしょうか?
0416nobodyさん04/10/19 23:10:27ID:???
できねーっての。
0417nobodyさん04/10/19 23:20:05ID:???
ホイホイ解析できたら困るから、簡単にできないような仕組みを使ってる。諦めれ。
それとも、解析しづらいのに何故パスワードチェックに使われてるかということを聞きたいのかな?
0418nobodyさん04/10/19 23:25:02ID:???
パスワードの平文やり取りするのに抵抗あるから一旦cryptするって事はあるな。
Webでやる限り、その程度のものだと思うが。
041941104/10/19 23:26:22ID:eO5ANecX
>>417
うpろだのcgiがあって、
ソースログに吐かれるパスも暗号化されてるからなんか・・
いや、管理パスで消せるからいいんだけどさ、なんでわざわざ管理側にも隠すのかなぁって
0420nobodyさん04/10/19 23:29:33ID:???
それはパーミッションや拡張子の設定ミスで、ログを直接見られた時の対策みたいなもんだ。
そこらへん抜かりが無いならわざわざcryptする意味はあまり無い。
0421nobodyさん04/10/19 23:37:56ID:???
>>414
でたらめ教えないように。
平文を暗号文に変換することを暗号化するという。
暗号文を平文に変換することは複合するという。
0422typoだ04/10/19 23:39:24ID:???
>>414
でたらめ教えないように。
平文を暗号文に変換することを暗号化するという。
暗号文を平文に変換することは復号するという。
0423nobodyさん04/10/19 23:42:08ID:???
>>421
> 平文を暗号文に変換することを暗号化するという。
> 暗号文を平文に変換することは複合するという。
こういうのって暗号屋さんのこだわりなんだろうな。
複合化でもいいじゃないって思う。
0424nobodyさん04/10/20 00:00:58ID:???
cryptの結果をすべて蓄えておけば可能。

蓄えるのも大変だけれども、検索するのも大変ですけれども。
0425nobodyさん04/10/20 00:03:04ID:???
「暗号する」とは云わんわな。not サ行変格名詞
「複合する」とは云うわな。

揚げ足でもなんでもないとは思うけれども。
0426nobodyさん04/10/20 00:04:48ID:???
>>425
s|複合|復号|;
スマソ
0427nobodyさん04/10/20 00:09:55ID:???
なんか明後日の方向向いてる奴まで出てきたなw
0428nobodyさん04/10/20 00:32:57ID:???
掲示板のログ保存方法なんだけど、
1.一つのログファイル
2.書き込み毎にログファイルを作る
3.DB
どれを奨励する?
0429nobodyさん04/10/20 00:36:40ID:???
個人的には断然DBだが・・・どれも一長一短だな。
0430+++04/10/20 00:41:08ID:???
ググってみれば使用頻度は「復号化する」>「復号する」だね。
0431nobodyさん04/10/20 00:53:41ID:???
>429
2の鼻が赤いやつに長所はあるのか?
0432nobodyさん04/10/20 00:57:23ID:???
2.の方法はDBに近い感覚で処理が書ける。
0433nobodyさん04/10/20 01:00:28ID:???
>>431
残念だが俺があらかじめ射殺しておいたから無い。
0434nobodyさん04/10/20 01:02:15ID:???
>>426以前
「暗号化」は「化」が動詞だけど、「復号」は「復」が動詞なんだよ。
「復活する」とは言うけど「復活化する」とは言わない。それといっしょ。

>>428
「どれを推奨するか」ということならDBだなあ。
まあ環境のために使えないケースも多いとは思うが。
0435nobodyさん04/10/20 01:04:40ID:???
2.の方法イイと思うんだよな。
ファイル名が書き込み番号でダイレクトに扱える。
ただ、一覧作るたびにopendir,readdirするのがどのぐらいシステムに負荷かけるかって話だが。
0436nobodyさん04/10/20 01:06:28ID:???
>>435は馬鹿ですね?
0437nobodyさん04/10/20 01:07:48ID:???
釣られてるぞ
0438nobodyさん04/10/20 01:09:00ID:???
>>431
ポケットから未来道具が出せる
0439nobodyさん04/10/20 01:09:32ID:???
まあ奨励って話なら当然DB。2の方法のCGI扱った事あるが、でかいログを操作するよりは確かに楽。
0440nobodyさん04/10/20 01:12:48ID:???
乙
0441nobodyさん04/10/20 01:13:27ID:???
/usr/cgi/ara/essassa.cgiで、
/usr/html/dat/enyakora.datの内容を更新する場合って、
相対パスは
../../../html/dat/enyakora.dat
でいいんでしょうか?
絶対パスの書き方がよくわからないです。
0442nobodyさん04/10/20 01:14:32ID:???
聞く前に試せよ池沼
0443nobodyさん04/10/20 01:16:37ID:???
DBにしとけ。
0444nobodyさん04/10/20 01:17:03ID:???
444get, zuzaa
0445nobodyさん04/10/20 01:18:00ID:???
>>442
試して失敗したんで、間違ってるのか聞いてみました。
同じフォルダに移して、./ennyakora.datで指定したときは正常に作動したんですが。
0446nobodyさん04/10/20 01:19:57ID:???
書き込があるたびに単独のログ作っておくと変更や削除が楽だよ。
0447nobodyさん04/10/20 01:21:01ID:???
くどいぞ。
0448nobodyさん04/10/20 01:21:44ID:???
>>445
0449nobodyさん04/10/20 01:22:05ID:???
>>439
うむ、わしも、Oracle や DB2 使えとまでは言わんが、
BerkeleyDB ぐらい使った方が世の中のためになると思う。

>>445
順番に一歩一歩考えろ。
/usr/cgi/ara/essassa.cgi から /usr/cgi/ora/dokkoisho.dat をアクセスするときは
../ora/dokkoisho.dat だろう。
/usr/cgi/ara/essassa.cgi から /usr/html/dat/enyakora.dat はそれより一段深い。
0450nobodyさん04/10/20 01:24:52ID:???
何メガもあるXMLでパースにえらい時間が掛かるってなら
ログを小分けにするのはかなり有効。
0451nobodyさん04/10/20 01:29:35ID:???
何メガもあるレスってどんな奴が書いてるんだよ
↓
0452nobodyさん04/10/20 01:30:55ID:???
ISAM形式のDBは?
Unix標準では無いか。
0453nobodyさん04/10/20 01:30:59ID:???
10メガバイト程のクマAAを作ったが貼るところがないな。
0454nobodyさん04/10/20 01:33:19ID:???
>>450
XQueryで操作できるファイルライブラリなんかあると便利そうだな
sqliteのXmlDBみたいなやつ
0455nobodyさん04/10/20 01:37:56ID:???
>>453
実際のクマより遥かにでかそうだ
0456nobodyさん04/10/20 01:40:29ID:???
まあDB(BerkelryやMySQL程度)が一番コストかかんないよ。
システムにもやさしい。
ログの大きさや機能にもよるけど、レスを一つのファイルにまとめるのはあまり上手くないな。
0457nobodyさん04/10/20 01:47:12ID:???
>>449
了解です。かなり頭の悪い認識ミスでした。すいません。
どうもありがとうございました。
0458nobodyさん04/10/20 13:41:39ID:???
学校でそれぞれのパソコンからCGIにデータ送ってもらおうと思っています。
cookieを使って何処からのデータかをチェックし、2重なら上書きというようなスクリプトを作りたいのですが、
まずcookieにどんなデータを書き込めば良いのかと、どうやってcookieに書くのかで困っています。
0459nobodyさん04/10/20 14:26:33ID:???
つまり、何も決まってないと。
0460nobodyさん04/10/20 14:55:09ID:???
何を送るかは決まっています。
ただ何を使って送信元を認識するか、またそれにcookieを使う場合、
どうやってcookieに書き込むかが分かりません。
0461nobodyさん04/10/20 16:17:45ID:n94qA67F
javaかphpを勉強しようと思うんだけどどっちがいい? 趣味の段階として。
0462nobodyさん04/10/20 16:31:53ID:???
C
046346004/10/20 16:32:53ID:???
送ってもらう情報や時刻をcookieに書いて、もしそれが空でなかったら
時刻を使って上書き、と言うのを考えました。これでOKでしょうか?
046446104/10/20 16:36:37ID:n94qA67F
ヽ(´―`)ノ
0465nobodyさん04/10/20 16:37:56ID:???
cookie許可されてなかったらどうすんの?
046646004/10/20 16:44:35ID:???
送る情報は書き込む必要なかったですね。

おなじLAN内だからIP使えないんですよね。
学校で外のCGIに送ってもらうものだから、cookieを使う事にしたんです。
cookieのファイルを削除されたりしたら無理ですがある程度は妥協する事にしました。
■ このスレッドは過去ログ倉庫に格納されています