したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

プログラムスレッド

59女傑 ◆nDpXSJz8i.:2012/04/23(月) 12:43:57
引数データを受け取るルーチン
先ず引数を区切っている&のパラメータを分解し繰り返し
処理、更に=区切りのパラメータをname,valueの変数に分解する。
+文字をスペースに置き換えて、文字コードの16進数デコードを行って
エスケープシーケンスを含んだ文字列や、タグ文字などを読み飛ばす処
理も行う。

メソッドがpostの場合は、STDのINやファイルの長さなども読み込む。

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

if ($buffer eq "") { &error; }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/\t//g;
$value =~ s/\r//g;
$value =~ s/\n//g;
$value =~ s/\.//g;
$value =~ s/\///g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
}


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板