自分のサイトに設置してあるBBSなんですが、cookieで名前やメアドを記憶しているはずが、ある日を境に出なくなったんです。
cookieは60日間有効にするために、以下のように書いています。
local($sec,$min,$hour,$mday,$mon,$year,$wday) = gmtime(time+60*24*60*60);
@month=('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
$gmt = sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT",
$week[$wday],$mday,$month[$mon],$year+1900,$hour,$min,$sec);
$cook="name<>$in{'name'}\,email<>$in{'email'}\,url<>$in{'url'}\,pwd<>$in{'pwd'}\,icon<>$in{'icon'}\,color<>$in{'color'}";
そして、これをprintで書き出しているのですが、なぜ消えてしまうんでしょう?
設定の仕方が間違っています?
No.2ベストアンサー
- 回答日時:
再びatonです。
「NNのインストールしてあるディレクトリのcookies.txtを見ると入っている」という話から,cookieの発行はうまく行われていると仮定すると,
- クライアントから正しいcookieを返送できていない
- サーバーがクライアントから返送されたcookieを受け取れていない
- サーバーは返送されたcookieを受け取れているが,その後の処理がうまくいっていない
等の理由が考えられますが,質問文のソースだけでは何とも言えません。「expiresの設定がうまくいっていないのでは」とか「cookieの置き換えがうまくいっていないのでは」とかいろいろ想像はできるんですが,あのソースでは $gmt が何なのか,cookieの名前/値/期限/ドメイン/パスがどう設定されているかすらわからないので…。
とりあえずcookieの仕様が参考URL(英語)にあるので,ご自分で確認してみてください。
参考URL:http://home.netscape.com/newsref/std/cookie_spec …
なるほど~(⌒ ⌒)
大変参考になるサイトを教えていただきました。
ありがとうございます。m(_"_)m
今までcookieの仕様も知らずに人の作ったCGIを頼りにやっていました。
このサイトの説明でcookieの仕様が少し分かりました。
自分のパソコンにもhttpdとperlを入れて動作試験をしていますが、同じ現象がでていますので、2番目の問題ではないと考えています。
おそらく、
- サーバーは返送されたcookieを受け取れているが,その後の処理がうまくいっていない
が原因ではないかと思いますので、cookieを拾って処理するルーチンを、このサイトの仕様を基に調べて見ます。
ありがとうございました。
PS.英語は大丈夫です。(⌒ ⌒)・・・ドイツ在住4年です。
No.1
- 回答日時:
ちょっと質問がわかりにくいのですが…。
「Cookieがサーバーから発行されなくなった」のでしょうか? それとも「ブラウザーがcookieを受け取らなくなった」のでしょうか?
ブラウザーのcookie設定を変更したとか,ブラウザーをバージョンアップ/変更したとかいうことはありませんか? それによって,「ブラウザーがcookieを受け取らなくなった」だけかもしれません。
確認のために,一度ブラウザーのcookie設定を覗いてみて,「cookieを受け入れる前に警告する」というようなことが書かれているオプションを有効にしてみてください。それからもう一度ご自分のBBSにアクセスしてみれば,「Cookieがサーバーから発行されなくなった」のか「ブラウザーがcookieを受け取らなくなった」のかという問題の切り分けができると思います。
この回答への補足
回答ありがとうございます。
ちょっと説明がわかりにくかったですか?(^^ゞポリポリ
せっかくのアドバイスですが、ちょっと違うような?
つまりですね、ブラウザの問題ではなくて、perlの書き方なんです。
ある日までは、自分の掲示板をアクセスすると、ハンドル名、メアドなどを表示していたのです(cookieがうまく動いていた)が、ある日を境にハンドル名もメアドも表示されなくなったんです。
つまり、cookieが発行されていないと思われます。
NN4.78を使っているのですが、NNのインストールしてあるディレクトリのcookies.txtを見ると入っているんでね。
あれ?ということはcookieは発行されているけど、表示するために拾うルーチンが悪いのかな?
でも、基になっているのは結構有名なフリーCGIなんですよね。
それをさんざん改造して使っています。もちろんcookieの部分は変えていません。
おかしいですね?(゜_。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- 英語 英語ができる方に質問です。 以下の文がネイティブの方に伝わるかどうかを確認していただけないでしょうか 7 2022/12/16 14:54
- 英語 体重が3kg増える/減る の英語表現 2 2023/07/07 11:15
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- 英語 正しく意味がとれない 2 2023/06/12 04:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストコントロールの列幅を固...
-
[C#]ListView一覧表示時の幅設...
-
AccessVBAで「このフィールドに...
-
EXCEL:ヘッダー日付を年号で?...
-
SSL環境でオートコンプリートを
-
SSLで送られたhttpのヘッダ...
-
perlでHTTP Request Headersの...
-
VB2005 DataGridView CurrentC...
-
VBAでExcelのヘッダーに文字列+...
-
C# クッキーを使ってウェブブ...
-
LWPでHTTPSサイトからコンテン...
-
ヘッダのinclude順
-
LWPでのCookie取得
-
ヘッダーファイルのインクルー...
-
あれれ、クッキーが機能しませ...
-
MTUについて(Ethernetヘッダ)
-
自作ヘッダファイルについて (C...
-
DBを10件毎に表示ページング...
-
6月の第2 第4火曜日は何日...
-
月の第一週とは
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでExcelのヘッダーに文字列+...
-
[C#]ListView一覧表示時の幅設...
-
perlでHTTP Request Headersの...
-
AccessVBAで「このフィールドに...
-
ヘッダのinclude順
-
TCPヘッダのチェックサム算出方法
-
関数ヘッダ?
-
Content-type: text/htmlが表示...
-
レスポンスヘッダの出力方法
-
file_get_contents でリダイレ...
-
LinuxでRTPヘッダを作りたいの...
-
リストコントロールの列幅を固...
-
EXCEL:ヘッダー日付を年号で?...
-
SpreadDesignerの列ヘッダ
-
LWPでHTTPSサイトからコンテン...
-
HTTP 200 OKの後のリダイレクト?
-
C# クッキーを使ってウェブブ...
-
ftpでのネットワークバイトオー...
-
HTTPヘッダの取得方法
-
自作ヘッダファイルについて (C...
おすすめ情報