人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlについて質問です。

特定のディレクトリ構成を再帰的にたどり
一覧を表示しようとしています。
(将来的には各ディレクトリごとに処理を行う予定です)

しかし再帰的には表示されず一部のみ
表示されてしまいます。

私は何を間違っているのでしょうか?

【list.cgi】
#!/usr/bin/perl -wT
print IContent-type: text/htmlononI;
use File::Find;
$dir = G.G;
find(o&print_dir, $dir);
sub print_dir { print $File::Find::name, I<br />I; }

【$dir = G.Gのときの出力結果】
.
./list.cgi
./test2

【$dir = Gtest1Gのときの出力結果】
test1
test1/test13

【ディレクトリ構成(ftpでfindした結果)】
> find *
list.cgi
test1
test1/test11
test1/test11/test111
test1/test12
test1/test13
test1/test13/test131
test2

●質問者: ganessa
●カテゴリ:ウェブ制作
✍キーワード:CGI Dir FTP name Perl
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● thrillseeker
●50ポイント

http://www.ipa.go.jp/security/awareness/vendor/programming/a04_0...

4-3. PerlのTaintモード(汚染検出モード)

1行目で指定している -wT を -w に変更すれば期待通りに動くはずです。

-T オプションが指定されれいる場合、”/” を二つ以上含む文字列が変数に

入力されるとセキュリティ上危険とみなして処理を中止してしまうようです。

◎質問者からの返答

あっ。なるほど。

セキュリティーを強化しようと思ったのが

仇になってしまいました。

原因がわかってすっきりしました。

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ