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

Perl コーディング初心者質問コーナー Part35

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/05/26 16:48ID:kkhhiYmo
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0666nobodyさん04/07/02 00:49ID:???
>>664
( ゚д゚)あの板でやってたこのクイズ作ってたのはお前かよっ!
どこが問題ないってよ。
http://www.tcn.ne.jp/~majima/dog/quiz/question4.datにアクセスしたら
答え全部わかっちまってるだろうが。

そもそもなんで問題を書いたファイルをhiddenで渡す必要があるんだ?
0667質問04/07/02 00:58ID:dBU8jv45
perl のスクリプト中でディレクトリを作成したら、パーミッションが変になり、削除できません。

ユーザーは www、グループも www、そしてパーミッションが301(-wx --- --t)になってます。
mvでリネームは出来ます。さらに cd で中に入ることは出来ますが、ls しても何も見えません。

そのサーバでは、CGI(Perl)、telnet、ftpが使用できますが、私はスーパーユーザーではありません。
rmdirをする簡単なPerlスクリプトを書いたり、rm -f -d directryとやってもダメでした。

分かる方が居たら、教えてください。・゚・(ノД`)・゚・。
0668nobodyさん04/07/02 01:07ID:???
stickyビットが立ったんだな。で、ログインユーザとWEBサーバの実行ユーザが違う、と。
CGIでchmod(0777)かな?ってやって、その後、telnetで入って削除すればいいよ。
0669nobodyさん04/07/02 01:11ID:???
>>662-663
ご返答有難うございます。
UTFで指定しているところはないのですが、何かの
文字がUTFと認識させてしまっているという解釈で
宜しいのでしょうか。
067064804/07/02 01:12ID:???
>>665
貴重な情報ありがとう。
openするときに..とかが含まれてたらエラーにしました。
>>666
とりあえずそこ直します。
067166704/07/02 01:19ID:dBU8jv45
>>668
削除できました。

rmやrmdirじゃなくて、一旦 chmod するのは盲点でした。
即答&的確な指示、ありがとうございました。本当に助かりました。・゚・(ノД`)・゚・。
0672nobodyさん04/07/02 01:21ID:???
>>670
いや、エラーにするとかじゃなくてデータファイル名はスクリプトに直で書けよ。
他にも設計やコーディングの誤りがありそうな予感・・・

↓ここで添削してもらえ。
自作CGIを評価するスレ
http://pc5.2ch.net/test/read.cgi/php/1049514428/
067364804/07/02 01:28ID:???
>>672
ありがとう。
複数の問題ファイルをランダムに選んでるので
ファイル名を直でかくのは無理だと思っています。
とりあえず添削してもらってきます。
0674nobodyさん04/07/02 01:37ID:???
@questions = ("q1.dat","q2.dat","q3.dat");
って書いておいて、
<input type=hidden name=question value=0>
ってやればいい。valueが添え字ね。
0675nobodyさん04/07/02 11:08ID:???
print <<"EOF";などでHTML表示する場合の質問です。
HTMLのインデントを揃えたいと思っているのですが、

print <<"EOF";
<HTML><HEAD></HEAD><BODY>
EOF

こう書くと、<BODY>とEOFの間に改行コードがあるために、続けてHTMLを出力すると、

<HTML><HEAD></HEAD><BODY>
</BODY></HTML>

のようになってしまいます。
print <<"EOF";を使っても、一番最後の改行コードを含めないようにする書き方はあるのでしょうか?
0676nobodyさん04/07/02 11:46ID:???
print "<HTML><HEAD></HEAD><BODY>";

これじゃダメなん?
""の中で改行できるし、"自身が存在するならqq使うかエスケープすりゃいい。
0677nobodyさん04/07/02 11:46ID:???
>>675
そもそもはじめから print "<HTML><HEAD></HEAD><BODY>"; とするか、
適当に変数に入れてお尻の1文字削るのが普通だと思われる。

どっちも嫌なら

print @{[<<"EOF" =~ /(.*).$/s]};
<HEML><HEAD></HEAD><BODY>
EOF

とかってのも可能だがオススメしません。
0678nobodyさん04/07/02 12:48ID:???
eval関数って使い方によっては危ないみたいですけど、こういう使い方でも危険ですか?

(test.txtの中身)
あいうえお
%{$obj->{form}}

(hoge.cgiの中身)
use Hoge2;
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'};
my &obj = Hoge2->new($buffer);

open(FH,"test.txt")
while( <FH> ){
if( $_ !~ /\$/ ){ print;
}else{
print eval $_; }
}
close(FH);

(Hoge2.pmの中身)
sub new{
my $self = shift;
@a = split/&/,shift;
foreach( @a ){
(my $a , my $b ) = split/=/;
$form{$a} = $b;
}
bless,{form => {%form}},$self;
}
1;
0679黒死犬 ◆EgxBlf8nvc 04/07/02 13:26ID:???
test.txt が常にあなたの管理下にあって、
他の人が変更不可能な状況ならば問題ナッシング
068067804/07/02 13:33ID:???
>>679
ありがとうございます!txtファイルの管理には気をつけます。

print eval $_;

の部分でもしも%formの中にPERLの命令文が入っていた場合とかに実行されちゃうのか
不安でしたが、↑では変数展開されるだけで終わるみたいですね。
展開された内容を再びevalにかけさえしなければ安全ってことですね。

ありがとうございました。
0681nobodyさん04/07/02 14:25ID:???
>>678
print eval(eval $_);
としなければセキュリティホールにはならないと思う。
0682nobodyさん04/07/02 14:33ID:???
>>678
見た感じCGIっぽいのでもしそうならXSSには注意しろよ。
068367804/07/02 14:43ID:???
>>681
ありがとうございます。

>>682
掲示板ではなく注文システムのCGIなので、実行者に跳ね返るだけのことなのであまり気にしてませんが、
一応
$a =~ s/[><";&\[\]\{\}]//g;
$b =~ s/[><";&\[\]\{\}]//g;
としてから%formに入れてます。

一応わかる範囲でタグとか入れて見ましたが、とりあえず問題ありませんでした。
もし、↑のでは不足していたら教えて頂けると幸いです。
0684nobodyさん04/07/02 14:57ID:???
>>683
サイニタイジング自体は開いてか受け取ったデータをどこで使うかによって変わってくる。

HTMLなら<,>,&を置換すれば良い。要は、今から処理を行う部分で入ってこられたら困る文字、
特殊文字を消すか、置換するか。

まあPerlは比較的セキュリティ面はしっかりしてるから、上で言ってたようにevalとか
その他一部の関数の使い方に気を付ければよい。

わかってると思うけど、掲示板系のオウム返しプログラムでXSSを軽視していると、
ウイルスが埋めこまれて、利用者が被害をうける事になるから気をつけてね。
0685nobodyさん04/07/02 14:58ID:???
>>684
>サイニタイジング自体は開いてか受け取ったデータをどこで使うかによって変わってくる。

サニタイジング自体は相手から受け取ったデータを

の間違い。ごめん。
068667804/07/02 15:16ID:???
>>684-685

今XSSについて再度記事をよんでますが、掲示板以外でもスクリプトになり得るタグは削除しなくちゃいけませんね。
うちのサイトでタグをちゃんと消していないと、第三者がうちを使っていたずらしちゃいますもんね。
とりあえず、セキュリティホールのなくせるよう頑張ります。ありがとうございました。
0687nobodyさん04/07/02 15:28ID:???
>>686
俺は必要のない記号は全て削除してる。
=~|\/;:+][{}()`'"<>&%#,
っていうか
*-@.
以外は全部削除しちゃいなよ。注文プログラムなら上の四つがあれば問題ないでしょ?

掲示板なら実態参照すればいいし。
0688nobodyさん04/07/02 15:36ID:???
実際XSS対策していないサイトってどれくらいあるのかな?
基本的にタグだけでも実態参照にしてるサイトならあまり大きな問題はないと思うけど、
対策を何もしていないとこ見てみたい。

http://www.atmarkit.co.jp/fsecurity/special/31xss/xss01.html
ここなんかXSSについてある程度詳しく書いてるけど、ここが言うには
「XSS対策してないサイトが多すぎる」だってさ。
ほんとにそうなんかな?
0689nobodyさん04/07/02 16:26ID:???
配布されてるcgiではXSS対策してないのはあんまり見かけなくなったね。
あとはSQLインジェクションはヤバイ。まじでヤバイよ。
まずdeleteできちゃう。もう1レコードなんてもんじゃない。テーブルごと。
何しろ無制限。スゲェ!なんか制限とかないの。
しかも他のテーブルも消せちゃう。ヤバイよ、真っ白だよ。
だって普通は削除できないじゃん。だって削除されたら困るじゃん。
訴えられたら困るっしょ。
だからそのCGIはロールバックできる。話のわかるヤツだ。
けど普通のCGIはヤバイ。そんなの気にしない。消えるだけ。

とにかく貴様ら、SQLインジェクションのヤバさをもっと知るべきだと思います。
そんなヤバい仕事をしてる貴様らとか超偉い。もっとがんばれ、超がんばれ。
0690nobodyさん04/07/02 16:56ID:???
formでのhiddenが駄目って書いてる人がいるけどhtmlで同じタグ作ってPOSTとかされるからっていう解釈でいいですか?
私はCGI側でリファラーを一致してるかチェックしてるんですがこれでもまだセキュリティー的にあぶないんでしょうか?
0691nobodyさん04/07/02 17:02ID:???
>>690
当然あぶないに決まってる
0692nobodyさん04/07/02 17:10ID:???
>>691
何故ですか?具体的にお願いします。
0693nobodyさん04/07/02 17:11ID:???
>>690
hiddenそのものが駄目なわけではないので要は使い方の
問題だと思うのだが。hiddenだろうがなんだろうが、やろうと
思えばclientからは何でも送れるので過度に信用するなっ
てこった。

リファラーもclientの自己申告なんで騙され放題。そんなも
のでまともなチェックにはならない。足切りぐらいにはなる
けどな。

0694nobodyさん04/07/02 17:46ID:???
>>689
そうだね。データベース操作するcgiなんかではサニタイジングを念入りにやらなきゃね。

0695nobodyさん04/07/02 18:02ID:???
>>689
DBIならいきなり渡されたデータを埋め込んだSQL文作って実行じゃなくて
prepare-bind_param-executeにすればめったなことはないと思うんだが
オレの認識は甘いだろうか?
0696nobodyさん04/07/02 18:11ID:???
>>693
やっぱりそうですか。
私が作ってるスクリプトはhiddenの値を変えられるとかなり危険なので修正してみます。
どこかに参考になる方法とか載ってないでしょうか?
0697nobodyさん04/07/02 18:43ID:???
そろそろこっちの方がよくないか?

CGI: Common Gateway Interface part 11
http://pc5.2ch.net/test/read.cgi/php/1055597189/
0698nobodyさん04/07/02 19:32ID:???
>>696
っていうかさ、クエリは常識として毎回中身をチェックしろよ。
多分今の状態ならお前のサイト思いっきりXSSのえじきだよ。

お前の知らないところで、お前のサイトがウイルス配布に使われてるかもよ。
もちろん配布してるのはお前だからお前が逮捕。とりあえず>>688が晒してるサイト程度の
知識は必要だ。

http://www.ipa.go.jp/security/awareness/vendor/software.html
ついでにここも読んどけ。
0699nobodyさん04/07/02 19:37ID:???
>>697
うむ、XSSにしろSQLインジェクションにしろhiddenパラメータにしろ、
Perl に限定されない CGIセキュリティの話は、
そちらで話すことが望ましい。
0700nobodyさん04/07/02 21:33ID:???
>>689
全権限はGRANTしないだろ。普通。
0701nobodyさん04/07/02 22:18ID:???
今はパスワードを入力してもそのチェックをしない
サイバーノーガード戦法の時代ですよ。
0702nobodyさん04/07/03 15:11ID:???
板違いみたいだったのでこちらで質問させていただきます。

DBにパスワードを書ける方法がうまくいきません。

具体的には、perlスクリプトからuse Pgでconnectする際、
ユーザ名とパスワードで認証をかけたいのですが、
createdb -W で指定したパスワードがどうしてもきかない
ようです。

認証をかけるところが間違っているのではないかと思って
いるのですが、どうしてもやり方がわかりません。

ご教授いただけますと幸いです。
0703nobodyさん04/07/03 17:22ID:dEpm626a
半角カナを全角カナに変換したいんですけど,下のコードで
うまくいく行と文字化けする行があるのですが,うまく変換する
方法はありますか?

CSVデータはこれです。
http://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/ken_all.lzh

use Jcode;
open IN, "./ken_all.sjis";
while(<IN>){
  my $line = $_;
  chop $line;
  $line = jcode($line)->h2z->euc;
  print "$line\n";
}
0704nobodyさん04/07/03 18:07ID:???
>>702
お茶呑みながらじっくりと眺めてみる。
http://member.nifty.ne.jp/hippo2000/perltips/Pg.htm

>>703
while(<IN>){
 chomp;
 printf qq|%s\n|, jcode($_, 'sjis')->h2z->euc;
}
0705nobodyさん04/07/03 19:05ID:???
>>704
お返事有難うございます。

connectでパスワードを入れても入れなくても
認証されちゃうので、DB(もしくはテーブル)作成
時の問題と踏んでいるのですが間違っております
でしょうか。
070670304/07/03 19:08ID:???
>>704
うまくいきました。ありがとう。
0707nobodyさん04/07/03 21:19ID:???
>>705
残念ながらエスパーではありませんので。>>1 嫁。
ということでもっとお茶呑んでください。
0708nobodyさん04/07/03 21:54ID:MbMdEpi2
>>705
何にも情報が無いので、
とりあえず pg_hba.conf の設定でも見直してみろ、
と言ってみる
0709nobodyさん04/07/03 22:29ID:nSj0iEMY
$="123456";

のようにして、桁数を調べたいのですが、どのようにすれば良いのでしょうか?
0710nobodyさん04/07/03 22:32ID:???
Perlの質問以外は受け付けません
0711nobodyさん04/07/03 22:38ID:???
>>709
$="123456";

のようにして、桁数を調べれば良いと思います。
071270904/07/03 22:45ID:nSj0iEMY
$NO="123456";

でした。すいません・・・
0713nobodyさん04/07/03 22:52ID:???
>>712
length
0714nobodyさん04/07/03 23:36ID:???
sub 709{

$i=1;
while(1){ if(@_%10<10) $i++) }

return $i+1;

}
0715nobodyさん04/07/03 23:38ID:???
sub 709{

$i=1;
while(1){
$j=1;
for($j=0; $j<$i; $j++){ $j*=10; }

if(@_%$j<10) $i++) }

return $i+1;

}
0716nobodyさん04/07/03 23:41ID:???
>>714-715
動きませんが。
まともに書けないなら無理しなさんな。
0717nobodyさん04/07/03 23:51ID:???
ただ適当に書いただけ。
別に動かそうと思って書いたわけじゃないが
0718nobodyさん04/07/04 00:00ID:???
>>717 ← こ、この言い訳は苦しすぎるw

>>709
unsigned integerなら>>713でいいんでないの?
0719nobodyさん04/07/04 00:03ID:???
なんでさ
10のn乗で割っていくってようりょうだぞーってレスのつもりだが
で、10で割り続けてたので単純にpow入れようやっておもい
Perlってpowあったかなーとおもい、自分でn乗だすようにしてーー
って適当にやったから括弧の場所とかほっときぱなしになったわけだが

良い訳とかキモイ
0720nobodyさん04/07/04 00:06ID:???
ループはダサイ。
int(log($NO)/log10)+1
072171904/07/04 00:06ID:???
ってついカーっとなってスマン・・・
たしかにそうとられても仕方ない罠。
072271904/07/04 00:07ID:???
>>720
スマンな。Perlは去年少しかじって止めたのでほとんど関数把握してないんよ
0723nobodyさん04/07/04 00:12ID:???
そんな奴が回答者かよ
072471904/07/04 00:16ID:???
j3勉強のついでということで
0725nobodyさん04/07/04 00:26ID:???
perlだけに下手に自分で10で割ったりしながらループするより
length取ったほうが速そうだな。誰かベンチしてみない?
0726nobodyさん04/07/04 00:49ID:???
splitで1文字ずつに分解して配列数数える方法もありじゃないか?
0727nobodyさん04/07/04 00:52ID:???
おそらくそれが一番早いかと
072870904/07/04 00:54ID:Udr24Tj0
>>713
lengthで調べてみたら、出来ました。ありがとうございました。

もう一点、お聞きしたいのですが、
特定の文字列と一致した場合だけエラーになるようにしたいのです。

$NO="123456";
$NO2="23";

if ($NO eq /$NO2/g) {
  print "エラーです";
}

こんなふうに書いたのですが、上手くいきません。
サイトをいくつか見ながら書いてみたのですが、原因がわかりません。
すいません、どなたか教えてください。
0729nobodyさん04/07/04 00:54ID:???
(°д ゚)ハァ?

=~
0730nobodyさん04/07/04 01:35ID:???
なんか基本から解説してる本を1冊買うことをすすめるよ。
0731nobodyさん04/07/04 01:43ID:???
>>728
indexで十分だ。
やっぱ本買うよろし。
073270904/07/04 01:47ID:Udr24Tj0
本を買おうと思ったのですが、良い本が見つからなくて・・・
HTMLで言う、「とほほのWWW入門」みたいに、
Perl開設の良いサイトなど無いでしょうか?

ここのスレに載っていたページはどうもわかりにくくて・・・
0733nobodyさん04/07/04 01:49ID:???
今更でスマソだが、漏れなら、
@no = qw(1 2 3 4 5 6);
print $_ = @no."桁\n";
0734nobodyさん04/07/04 02:16ID:???
ここなんか例が載ってて判りやすいと思うのだが。
http://www.big.or.jp/~mio/ga/pl/plref/pl_ref.htm
0735nobodyさん04/07/04 02:41ID:???
>>732
> ここのスレに載っていたページはどうもわかりにくくて・・・
だったらなおのこと、本も用意したほうがいいですよ。

>>733
頑張ってください。>>726-727も眺めつつ。
0736nobodyさん04/07/04 03:33ID:???
>>732
じゃあ「CGI&Perl究極のレシピ350 とほほが教える」でも買ってみたら?
http://www.esbooks.co.jp/books/detail?accd=31095149
Perlの解説本というより目的別のサンプル集みたいなのだから
丸々コピーばかりしないで参考にすればいくらか勉強にはなるだろう。
0737nobodyさん04/07/04 07:41ID:???
俺も持ってる、トホホ氏の。
何気に役に立つよ
0738nobodyさん04/07/04 10:09ID:???
>>732
知ってると思うけど
http://tohoho.wakusei.ne.jp/wwwperl.htm
0739nobodyさん04/07/04 13:38ID:bJ9Q5bUP
初めまして、さっそく質問で申し訳ないのですが、
パスワードの暗号か処理で暗号化を施した場合、
暗号化をログから解除して元パスワードを知ることはやはり不可能でしょうか?

例えば↓
sub encrypt {
local($inpw) = $_[0];
local(@char, $salt, $encrypt);

@char = ('a'..'z', 'A'..'Z', '0'..'9', '.', '/');
srand;
$salt = $char[int(rand(@char))] . $char[int(rand(@char))];
$encrypt = crypt($inpw, $salt) || crypt ($inpw, '$1$' . $salt);
return $encrypt;
}
のようなものからパスワードを探ることは・・・?
0740nobodyさん04/07/04 14:18ID:???
キーがわかるなら総当りしていけば? 単純に複合は無理でしょ。
0741nobodyさん04/07/04 14:58ID:???
暗号化前の平文をログって置けばよい。
0742nobodyさん04/07/04 18:07ID:???
簡単に複合できてしまう暗号なんてオ�hる
0743nobodyさん04/07/04 18:39ID:???
ハッシュの使い方が全然わかりません…
$testに環境変数の一部をUserAgent,IPみたいにコンマ区切りで入れたいだけなんですが…

助けてください…
0744nobodyさん04/07/04 18:43ID:???
>743の質問の意味が全然わかりません…
助けてください…
0745nobodyさん04/07/04 18:44ID:???
$test= join(',',@ENV{keys %ENV});
07467M. ◆dq7M./4Uw. 04/07/04 18:58ID:???
>739
それが出来ないから暗号として成り立つわけで。。。
0747nobodyさん04/07/04 20:30ID:???
2つのファイルのファイル名を入れ替える時ってどうすればいいのかな?
今は
$file1 = 'one.jpg';
$file2 = 'two.jpg';
$temp = 'temp.jpg';
rename $file1,$temp;
rename $file2,$file1;
rename $temp,$file2;
ってやってるけど、いい方法ある?
教えてエロい人!
0748nobodyさん04/07/04 21:22ID:???
>>747
renameの戻り値は見といたほうがいいと思うよ。

あとはtemp.jpgが固定なのとrenameだと上書きされる
のがちと気になるかな。

私がやるなら多分こんな感じにすると思う。最初のrenameを
linkにしたのは一時ファイル名がすでに使われてるときに上書き
しないため。途中でエラーになった時の処理をどこまで凝るかは
その時によるけどor dieは一番手抜きのパターンね。

$file1 = 'one.jpg';
$file2 = 'two.jpg';
$temp = "temp.jpg.$$";
link $file1,$temp or die;
rename $file2,$file1 or die;
rename $temp,$file2 or die;

0749nobodyさん04/07/04 21:29ID:???
>>748
ナンダコレ
釣りか?
0750nobodyさん04/07/04 22:07ID:Sq5R/TGN
プログラム版で板違いといわれてこっちに来ました

全文検索でヒットした奴を
行の真ん中に表示されるようにしたいんですがどうすれば良いんですか?

つまりglobalを検索したとすると、

                      global SchoolNet Director
 we have increased the US publics global awareness
                CanWest global Communications
              help address global warming issues
   California Wood Use Endangers global

↑こういう風に結果を出したいんです。
行全体を出力して、まんなかに検索した語を表示させたいんですが
そもそもどういう方針でやればいいのかさえわかりません。
どうすれば良いんですか?
0751nobodyさん04/07/04 22:38ID:???
>>750
Webプログラミングか?そうじゃなかったらム板池
0752nobodyさん04/07/04 22:46ID:???
table タグで位置あわせするとかその手の話のように読めるが、
もしそうだとしたら、単にHTMLの話だから、
プログラミングでも、Webプログラミングでもなく、Web製作板に行くべきだな。
0753nobodyさん04/07/04 23:20ID:???
>>750
マルチするの早杉。向こうで解答貰ってるぞ。
0754nobodyさん04/07/04 23:53ID:???
>>751-753

バカは下手にでると際限なく威張りますね
わからないならレスしなくていいよ。
0755nobodyさん04/07/05 00:30ID:AbFm7153
質問させてください。
windowsで動かしているとき、
perlを動かすときにdos窓のウィンドウタイトルはc:\perl\bin\perl.exeや
コマンドプロントから起動させた場合はc:\winnt\system32\cmd.exeのようになって
いると思うのですがそれを任意の文字に設定したいのです。
色々検索してショートカットから起動すれば変えられるのはわかったのですが
当方、rocket mouseというtoolからウィンドウタイトルを任意の文字にした
ものを起動させるのが目的でして、このtoolの場合、plファイルのショートカット
を指定してもそのショートカットから起動させるのではなく、リンク先を参照して
起動するため、ウィンドウタイトルを変更して起動させることができません。
ここを調べろ、ここは確認したのかなどのご指摘ありましたらよろしくお願いします。
0756nobodyさん04/07/05 00:49ID:???
>>755
> ここを調べろ、ここは確認したのかなどのご指摘ありましたらよろしくお願いします。
>>1は読んだか?
0757nobodyさん04/07/05 00:59ID:???
>>755
Perlと何の関係が?
075875504/07/05 03:14ID:???
レスありがとうございます。
>>756さんの言うとおりもう一度1を読み返してみます。
>>757
私はてっきりperlスレで質問する内容だと思ったのですが
ご指摘いただいたので違う方向からも再度考えさせてもらいます。
ありがとうございました。
0759nobodyさん04/07/05 04:03ID:???
プロセスを常駐させるにはどんな関数やモジュールを使えばいいでしょうか?
fork関数を使えば良いですか?
0760nobodyさん04/07/05 06:29ID:???
皆さんは入力文字列をエスケープする際にどのような処理をしてますか?

自分はこんな感じです
/&/&/
/\"/"/
/\'/?/
/</</
/>/>/
/\s/ /
/\r\n/<br>/
/\r/<br>/
/\n/<br>/

他に
こんな文字も危険、この文字はこれに置換がいい的なアドバイスもOK
0761nobodyさん04/07/05 06:30ID:???
↑ 消えたので&を&にして書き直しました

/&/&amp;/
/\"/&quot;/
/\'/&#39/
/</&lt;/
/>/&gt;/
/\s/&nbsp;/
/\r\n/<br>/
/\r/<br>/
/\n/<br>/
0762nobodyさん04/07/05 06:48ID:???
Perlのコーディングの話が少ないな。
0763nobodyさん04/07/05 10:32ID:???
この板の住人の大半は
1. コーディング以前の箇所で躓いている
2. 自分の抱える問題がコーディングの問題なのかどうかを切り分けできない
3. そもそもコーディングという言葉の意味を知らない
のいずれかだから。
たぶんこのスレも「Perlを使ったCGIに関する質問ならなんでもOK」だと思われてる
0764nobodyさん04/07/05 10:59ID:???
なるほど、
スレタイ嫁
だけじゃ通じなくなってきたワケだな。
0765nobodyさん04/07/05 15:04ID:???
どーでもいいけど此処って初心者と中級者しかいないね
■ このスレッドは過去ログ倉庫に格納されています