△▲ WebProg 初心者の質問 Part10 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/09/20 07:35:23ID:???質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前に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/
0405nobodyさん
04/10/19 14:17:27ID:L2S4WNHRどうもありがとうございます。
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:???その用途なら配列使え
0409404
04/10/19 19:48:01ID:???変数名を自動生成するする、ってperlやり始めは
陥りやすい発想なんだけど、邪道です。
全体がわからないのでなんともいえないけど、
408さんの言うように配列にプッシュして使いまわすとか
なんだとかいろいろ方法を工夫すべき。
0410nobodyさん
04/10/19 21:07:53ID:rsszw8bs変数名を生成してどうこうって汎用デバッグツールでも
作るんじゃなけりゃ普通は使わないと思う。
0411nobodyさん
04/10/19 21:52:02ID:mfo1mlCk0412nobodyさん
04/10/19 21:57:51ID:???0413nobodyさん
04/10/19 22:11:43ID:???0414nobodyさん
04/10/19 22:36:51ID:???0415411
04/10/19 22:41:56ID:vzy6JucQ0416nobodyさん
04/10/19 23:10:27ID:???0417nobodyさん
04/10/19 23:20:05ID:???それとも、解析しづらいのに何故パスワードチェックに使われてるかということを聞きたいのかな?
0418nobodyさん
04/10/19 23:25:02ID:???Webでやる限り、その程度のものだと思うが。
0419411
04/10/19 23:26:22ID:eO5ANecXうpろだのcgiがあって、
ソースログに吐かれるパスも暗号化されてるからなんか・・
いや、管理パスで消せるからいいんだけどさ、なんでわざわざ管理側にも隠すのかなぁって
0420nobodyさん
04/10/19 23:29:33ID:???そこらへん抜かりが無いならわざわざcryptする意味はあまり無い。
0421nobodyさん
04/10/19 23:37:56ID:???でたらめ教えないように。
平文を暗号文に変換することを暗号化するという。
暗号文を平文に変換することは複合するという。
0423nobodyさん
04/10/19 23:42:08ID:???> 平文を暗号文に変換することを暗号化するという。
> 暗号文を平文に変換することは複合するという。
こういうのって暗号屋さんのこだわりなんだろうな。
複合化でもいいじゃないって思う。
0424nobodyさん
04/10/20 00:00:58ID:???蓄えるのも大変だけれども、検索するのも大変ですけれども。
0425nobodyさん
04/10/20 00:03:04ID:???「複合する」とは云うわな。
揚げ足でもなんでもないとは思うけれども。
0427nobodyさん
04/10/20 00:09:55ID:???0428nobodyさん
04/10/20 00:32:57ID:???1.一つのログファイル
2.書き込み毎にログファイルを作る
3.DB
どれを奨励する?
0429nobodyさん
04/10/20 00:36:40ID:???0430+++
04/10/20 00:41:08ID:???0431nobodyさん
04/10/20 00:53:41ID:???2の鼻が赤いやつに長所はあるのか?
0432nobodyさん
04/10/20 00:57:23ID:???0434nobodyさん
04/10/20 01:02:15ID:???「暗号化」は「化」が動詞だけど、「復号」は「復」が動詞なんだよ。
「復活する」とは言うけど「復活化する」とは言わない。それといっしょ。
>>428
「どれを推奨するか」ということならDBだなあ。
まあ環境のために使えないケースも多いとは思うが。
0435nobodyさん
04/10/20 01:04:40ID:???ファイル名が書き込み番号でダイレクトに扱える。
ただ、一覧作るたびにopendir,readdirするのがどのぐらいシステムに負荷かけるかって話だが。
0437nobodyさん
04/10/20 01:07:48ID:???0439nobodyさん
04/10/20 01:09:32ID:???0440nobodyさん
04/10/20 01:12:48ID:???0441nobodyさん
04/10/20 01:13:27ID:???/usr/html/dat/enyakora.datの内容を更新する場合って、
相対パスは
../../../html/dat/enyakora.dat
でいいんでしょうか?
絶対パスの書き方がよくわからないです。
0442nobodyさん
04/10/20 01:14:32ID:???0443nobodyさん
04/10/20 01:16:37ID:???0444nobodyさん
04/10/20 01:17:03ID:???0445nobodyさん
04/10/20 01:18:00ID:???試して失敗したんで、間違ってるのか聞いてみました。
同じフォルダに移して、./ennyakora.datで指定したときは正常に作動したんですが。
0446nobodyさん
04/10/20 01:19:57ID:???0447nobodyさん
04/10/20 01:21:01ID:???0449nobodyさん
04/10/20 01:22:05ID:???うむ、わしも、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:???ログを小分けにするのはかなり有効。
0451nobodyさん
04/10/20 01:29:35ID:???↓
0452nobodyさん
04/10/20 01:30:55ID:???Unix標準では無いか。
0453nobodyさん
04/10/20 01:30:59ID:???0456nobodyさん
04/10/20 01:40:29ID:???システムにもやさしい。
ログの大きさや機能にもよるけど、レスを一つのファイルにまとめるのはあまり上手くないな。
0458nobodyさん
04/10/20 13:41:39ID:???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:n94qA67F0462nobodyさん
04/10/20 16:31:53ID:???0463460
04/10/20 16:32:53ID:???時刻を使って上書き、と言うのを考えました。これでOKでしょうか?
0464461
04/10/20 16:36:37ID:n94qA67F0465nobodyさん
04/10/20 16:37:56ID:???0466460
04/10/20 16:44:35ID:???おなじLAN内だからIP使えないんですよね。
学校で外のCGIに送ってもらうものだから、cookieを使う事にしたんです。
cookieのファイルを削除されたりしたら無理ですがある程度は妥協する事にしました。
0467nobodyさん
04/10/20 17:56:40ID:???もしかしてprint "Set-Cookie: ...";
みたいな話?
0468nobodyさん
04/10/20 18:38:05ID:???おそらく、print "Set-Cookie:NAME=$comment...";のように、入力してもらった情報やそれをもとにした物しか書き込めないんですよね?
この辺はある程度自己解決気味になりました。有り難うございます。
0469nobodyさん
04/10/20 18:41:29ID:???遊びだけならphp
javaは自鯖でもたてないと使うの制限されてるところが多いだろうし
仕事につかうならJava。phpは何故かいやがられることが多い。
0470nobodyさん
04/10/20 20:34:06ID:???友達に紹介するならjava
結婚するならPerl
0471nobodyさん
04/10/20 22:15:36ID:???cookieを使って何処からのデータかをチェックし、2重なら上書きというようなスクリプトを作りたいのですが、
まずcookieにどんなデータを書き込めば良いのかと、どうやってcookieに書くのかで困っています。
つうか、学校のそれぞれのPCからCGIでデータ送ってもらうって事だけど、
そのCGI置いてあるのも学校内のLANじゃないのか?
そうしたら、普通にプライベートIP振ってあるんじゃないのか?それともDHCPなのか?
それぞれのPCに固定でプライベートIP振ってるなら送信元のPCの判断は付くきがするんだが?
それと、そもそもPCで判断で良いのか?
例えばの話、学生AがPCAを使用していたが、不調な為、隣の席の学生BのPCを使ってCGIでデータ送信しても、
問題がないのか?
何が言いたいかというと、そのCGIで送るデータはPC別で上書きしていいのか、
それとも学生別にしたいのかって事ね。
必ずしも、そのPCを決まった学生が使うとは限らないからな。
0472nobodyさん
04/10/20 22:42:29ID:???perlはそうでも無いのだが。
まあ、趣味でやるならPHPやPerl勉強した方が有益だと思うが。
0473nobodyさん
04/10/21 02:48:24ID:???わざわざjava(JSP+ServletやEJB)で作ってるのって、アコギだなーって思う時ある。
0474nobodyさん
04/10/21 02:51:12ID:???0475nobodyさん
04/10/21 02:53:06ID:LAuzLACT0476nobodyさん
04/10/21 03:01:26ID:???2度手間だけどな。
0477nobodyさん
04/10/21 03:22:13ID:???そもそも、perlはシェルスクリプトの代わりに手をつけた技術者多いし、
アレルギー持ってる人も少ない。
perl覚えてからと言うもの、awkとかすっかり使わなくなっちまったなぁ。
0478nobodyさん
04/10/21 11:57:33ID:???指定ディレクトリ以下のファイルを検索する場合、
ファイル名にマルチバイト文字を含むファイルって検索対象に入れてますか?
現在Perlで全文検索型のを作っているんですが、
直接URLにマルチバイト文字を含めてリンクを貼った場合、
アクセスすると404を返される事があるので、
ファイル名のマルチバイト文字を一旦URLエンコードしてから検索結果画面を出そうと思っているのですが、
思った通りに動かず、この際マルチバイト文字をファイル名に含むファイルは
検索対象から外してしまおうかとも考えているのですが。
0479663
04/10/21 12:28:11ID:9OlkwLS2よくレンタルカウンターなんかで使われているhtmlからの外部ファイル
参照ですが、これはどういうテクを使っているんでしょうか?
Aサーバー
index.html
Bサーバーのtest.cgiの文字です。<br>
<script language="Javascript" src="bサーバー/test.cgi"></script>
(javaでなくてもよい、参考にしたのがたまたまjavaだった)
Bサーバー
test.cgi
print "Content-type: text/html\n\n";
print "外部cgi出力文字";
として、Aサーバーに設置したindex.htmlにBサーバーの文字を表示させたいのです。
自分なりにやってはみたのですが、まったくうまくいきません。
ヒントだけでも教えてください。
0480nobodyさん
04/10/21 12:37:27ID:???ここまで書いてて何でわからんのだ
Bサーバー/test.cgiが吐く文字列はjavascriptだろ
B鯖のcgiが吐く文字を変えてみれ
# レスポンスヘッダを出力
print "Content-type: text/plain\n\n";
# 以下、HTML出力
print <<"EOF";
<!--
document.write("勉強不足です");
//-->
EOF
0481663
04/10/21 12:48:26ID:9OlkwLS2なるほど!
おっしゃるとおり勉強不足でしたm(_ _)m
ありがとうございました!
0483nobodyさん
04/10/21 18:07:42ID:???あとtext/plainで出力するべきなのかな?
0484480
04/10/21 18:08:09ID:???コメント部はいらんかな。
・・・自分のソースも直しておくか
0486nobodyさん
04/10/22 03:15:59ID:kB/Ig1ML権限の与え方が良く分かりません。
例えば、あるユーザのファイルを削除する、といった場合に、
そのユーザの権限が必要になるわけですが、どのようにして
その権限を得るのでしょうか?
おそらくroot権限でのファイル操作になると思うのですが、
そのスクリプトをroot権限にいかにするかが分かりません。
機能としては非常にシンプルなので、
他の部分の構想は大体大丈夫なのですが、
肝心の権限という部分が良く分からない状態です。
0488nobodyさん
04/10/22 05:40:09ID:kI4bV4uqそれとも、サーバー側がインストールしなきゃだめなタイプのモジュールですか?
0489nobodyさん
04/10/22 10:18:52ID:???Perlか?
Japanise.pmはJPerlのコアモジュールなので、JPerlをビルドしてインストールしないと使えないぞ。
0490486
04/10/22 11:04:45ID:kB/Ig1ML宜しくお願いします。
0491nobodyさん
04/10/22 11:19:35ID:???そういうのを人に聞かなきゃわからんうちは自分で作るのはあきらめれ。
仮に自分では完璧に作ったつもりでも、
セキュリティホールがてんこ盛りになるのがせいぜい。
0492nobodyさん
04/10/22 11:42:25ID:???そういうことはLinux板なり、ム板なりに行った方がいい情報が得られる気もするが…
Cで作るのなら、その実行ファイルをroot所有にしてSbitを立てておく。
で、必要なら実行時にseteuidで実効ユーザ変更…だったと思った。
Perlだと$<や$>を使うらしい
でも、>>491の言うとおり、解らないうちはやめたほうが良いと思うよ
0493nobodyさん
04/10/22 12:27:38ID:???それでうまくゆくようにPerlがつくられているから。
0494nobodyさん
04/10/22 15:04:27ID:1BTRnK+Dindex.htmlとかに<a href=http://www.hoge.jp/ref.cgi>とかを仕込んで
リファラーとりたいんですが、index.htmlから呼び出されるので、リファラー
はそのindex.htmlからの情報しかないですよね?
googleとかで検索して飛んできた場合の検索文字列とかしりたいのですが、
index.htmlのりファラーをそのまま受け継いでref.cgiに渡す方法とか
ありますか?
0496494
04/10/22 15:14:09ID:1BTRnK+D直接ref.cgiに飛ばせばちゃんとHTTP_REFERER取れるんですが、
index.htmlにきたのを、自動的にref.cgiに送りたいんですよね。
0497495
04/10/22 15:16:15ID:???だから、index.htmlでCGI変数のHTTP_REFERERを取って、
そのリファラ−をref.cgiに渡してやればいいじゃん。
0498494
04/10/22 15:27:40ID:1BTRnK+D自分の認識では、google -> index.html -> ref.cgi とくれば、
ref.cgiでとれるリファラはindex.htmlのものになるのではないでしょうか?
htmlでHTTP_REFERERのとり方って、どうやるんですか?
すみませんが、おしえてください。
0499nobodyさん
04/10/22 15:29:50ID:???それができるんだったらわざわざ ref.cgi に飛ばさず SSI で直接 referer 取るわな
0500494
04/10/22 15:42:08ID:1BTRnK+D書き忘れてましたが、SSIとかでじゃなく
index.htmlにきたのを<img src=http://www.hoge.jp/ref.cgi>
とかで取得したいんですよね。
無理な話なのでしょうか?
0502495
04/10/22 15:57:54ID:???>自分の認識では、google -> index.html -> ref.cgi とくれば、
>ref.cgiでとれるリファラはindex.htmlのものになるのではないでしょうか?
この認識はあってる。
だから、分かり易く手順書いてやる。
1.index.htmlでリファラ−を取得する。(お前さんの例だとhttp://www.google.co.jp)
2.取得したリファラ−をref.cgiに渡す。(例えば、ref.cgi?value=http://www.google.co.jp)
3.ref.cgiで渡されたindex.htmlのリファラ−を取得する。
0503nobodyさん
04/10/22 16:03:32ID:???Perlからsendmail呼び出してメール送らせる単純なプログラム書いてみたんですが、
どうもあて先不明などのエラーメールがサーバー管理者に届いているようで
困っています。エラーメールは普通にFrom: に帰ってくると思っていたもので…
対処としてどういう対処をすればよいでしょうか。
0504nobodyさん
04/10/22 16:06:06ID:???やり方そのものを教えよう。
index.htmlに記述な。
<script language="JavaScript">
<!--
document.write("<img src=***.cgi?refe=" +document.referrer + ">");
// -->
</script>
でCGI側で受け取ればいい。
例えば$referrer = $FORM{'refe'};とかな。
QUERY_STRINGで取るのが一番手間がかからんか。
■ このスレッドは過去ログ倉庫に格納されています