初心者用の文献読むのですが、クッキーはカウンターの説明ばかりで、日本語を扱えません。
また、クッキーの解説HPでは、
>CGI(Perl)でエンコードするには次のようにします。
>$xx =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
>CGI(Perl)でデコードするには次のようにします。
>$xx =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg;
と、書いてあるのですが、どこを書き換えればいいのでしょうか。ぜひご伝授をお願いします。

なお、只今改造中のソースは以下のURL掲載に掲載されております。
http://softplaza.biglobe.ne.jp/text/cgi/cgi13/cg …

A 回答 (1件)

$xxにエンコードやデコードしたい文字列を入れて、


処理を実行すると、
$xxに処理済の文字列が入ると思います。

別の変数を変換する場合は、最初の$xxを書きかえればいいと思います。
例: $hizuke

参考URL:http://tohoho.wakusei.ne.jp/wwwcook.htm
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Aベストアンサー

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n";
open(GIF, "file.gif");
binmode(GIF); binmode(STDOUT);
print <GIF>; close(GIF);

もちろん、CGIからは画像フォーマットを返せばいいので、
ファイルから読まずにあらかじめCGIソース内に画像データ
を持っておいて出力する方法も可能です。


ちなみに、多くのCGIではHTMLコンテンツを返す場合が多い
ので、ヘッダは以下のようになります。

print "Content-type: text/html\n\n";

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n...
続きを読む

Q/usr/local/bin/perl の発音

あまりにも初歩の質問かもしれませんが、
/usr/local/bin/perl
・・・を、声に出すとすると、
/ユーザー/ローカル/ビン/パール
・・・で、良いのでしょうか?

Aベストアンサー

新版 UNIX 由来/読み方辞書
http://x68000.q-e-d.net/~68user/unix/unix-term-dic.html

Qperl/cgi リダイレクトができない

こんにちは。

レンタルサーバーにて、認証後に開きたいページをlocationで実行してみたのですが動かなくて困っています。

index.html(ログインフォーム)

aaa.cgi(認証可否チェック)
↓OKならsessionを与えて
bbb.cgi(認証後にユーザーに見せる最初のページ)

location以外でダイレクトさせる方法を教えてください。

よろしくお願いいたします。

Aベストアンサー

METAを使えばリダイレクトできますけども。
<meta http-equiv="refresh" content="0;URL=http://hogehoge.com">

普通は location でできます。
location の前にprint していませんか?
location は 一番最初(printする前)にやらないと動作しません。


ただし、例の動作でしたら私ならばaaa.cgiにすべて入れてしまいますね。
subルーチンとかを使えば余計なページ移動を考えなくてもいいので。

Q#!/usr/local/bin/perlとしたい

WindowsXP上でCGIを動作させる環境を構築しています。
しかし、サーバにアップロードする際にいちいちPerlパスを変更するのが
面倒なので、「#!/usr/local/bin/perl」と、基本的なディレクトリ指定にしたいです。
(サーバそうでなければ結局指定し直しですが)
現在、「#!c:/perl/bin/Perl」で動かしています。

どうすれば出来るでしょうか?ご教示願います。
ちなみにApacheは2.0.55です。

Aベストアンサー

c:/usr/local/bin/perl.exe
となるようにしてください。

QCGI/Perlという本はありますがCGI/PHPという本はないのはなぜですか?

アマゾンで調べると表題でCGI/Perlという本はありますがCGI/PHPという本はないのはなぜですか?

Aベストアンサー

なぜそのような書籍が無いのか結論から申し上げると「需要が無い」からです。
その理由はPHPとCGIの動作に起因し、PHP利用の最大のメリット(?なのでしょうか?)であるHTML組み込みなど利用できなくなるからです。

動作の概略(あくまで概略なので細かくするとキリがありません)を示しますと(右に長いのでテキストエディタなどにコピペしてみていただくと見やすいかと思います)

CGIの動作
 ブラウザ-[INTERNET]->Webサーバー -[CGI]-> システム:処理言語{Perl/C/Ruby...etc.}+プログラム:処理結果 -[CGI]-> Webサーバー -[INTERNET]->ブラウザ

PHPの動作
 ブラウザ-[INTERNET]->Webサーバー:PHP:処理結果 -[INTERNET]->ブラウザ

PHPを単体で処理できるようにインストール設定すればPHPをCGIとして利用することも可能です。当然、利用範囲がCGIの域を出なくなり、PHPとしてのメリットがなくなってしまいます。
そのような非効率的な運用利用をする方はほとんどいないので書籍にしても需要が無いと思います(何らかの事情で必要な方なら、WebサーバとCGIがしっかり理解できていれば簡単に実現できるかと思います)。

ちなみに、代表的なWebサーバApacheは外部組み込み機能を使ってPerlを「PHPの動作」と同じ動きをさせることができます。
そちらは「CGI」の範疇ではなく「Webサーバー構築」の分野ですのでそういった書籍を参考にしてください。

なぜそのような書籍が無いのか結論から申し上げると「需要が無い」からです。
その理由はPHPとCGIの動作に起因し、PHP利用の最大のメリット(?なのでしょうか?)であるHTML組み込みなど利用できなくなるからです。

動作の概略(あくまで概略なので細かくするとキリがありません)を示しますと(右に長いのでテキストエディタなどにコピペしてみていただくと見やすいかと思います)

CGIの動作
 ブラウザ-[INTERNET]->Webサーバー -[CGI]-> システム:処理言語{Perl/C/Ruby...etc.}...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報