|
あ、見れた。で、気づいた事。 - $monが0月〜11月になっちゃいませんか。 うーん、これくらいかなぁ。後はどーでもいいというか、些細な事というか、 好みの問題というか。 - EOF は End Of File の略なので、EOTが適当…なんでしたっけ? (EOT=End Of Textのつもり)。 - if ($... <10) { $... = "0..." } の羅列より、 $now = sprintf("%4d/%02d/%02d ...",$year+1900,$mon+1,$mday,...) の方がすっきりするかも。 全体的に特に問題はないんじゃないでしょうか。 |
|
後は > ($dtm,$soft,$point,$reho) = split(/\,/, $data[0]); ($dtm,$soft,$point,$reho) = split(/,/, $data[0]); > $temp = $now."\,".$FORM{'soft'}."\,".$FORM{'point'}."\,".$ureho."\n"; $temp = "$now,$FORM{'soft'},$FORM{'point'},$ureho\n"; くらいかなぁ。ほんとに細かいことですけど。 それからこれは根本的な問題ですが、FORMから渡される値をチェックして ないので、変なのを入れられる可能性がありますね。旧SEGA BBSのように。 渡された値が適切かどうかを調べるのは(僕は)必須だと思います。 |
|
あ、3月だ...、全然気付きませんでした。(-_-; 変な書き方してますね私、指摘されると自分でも思う...。 sprintfは便利ですね。でもなんで%02dの時だけ『0』が...。 私の持ってる本も%02dだけ0が付いてる...。 > FORMから渡される値をチェック... とりあえず$ENV{'HTTP_REFERER'}のチェックを入れてみます。 って、コレだと投票できないブラウザがあったか...。<SSとか 全部の値をチェックするんだったら投票フォーム部分も組み込んだ方が 楽そうだし、そうしようかな...。<いづれ(^_^; 勉強になりました! >変なのを入れられる可能性がありますね。旧SEGA BBSのように。 ギクッ! |
|
111111 |
|
2222222 |
|
こんばんは。 Perlのreaddirでの現象でお聞きしたいのですが。 普通、以下の様な記述で@filesには、ディレクトリ内のファイル& ディレクトリが入りますが、この配列の中に返される文字列の中に 複数のバイナリが混じるというのは、ディレクトリエントリが壊れ ているのでしょうか。 opendir(DIR, "./"); @files = readdir(DIR); closedir(DIR); 特にヌル(\x00)が多量に含まれます。 さらにこの状態のディレクトリを、他のディレクトリにコピー した時に症状が引き継がれるのは、壊れていると仮定すると 親ディレクトリからの影響が出ているのでしょうか。 またこの症状が出るのは、nfs等で共有しているディレクトリです。 何か分かる事が有りましたら、よろしくお願いします。 ちなみに以下のスクリプトでは問題無く表示されます。 #!/usr/local/bin/perl $|=1; print "Content-type: text/plain\n\n"; $_ = system("ls -l ./ 2>&1"); print "$_\n"; |