

はじめまして、質問させていただきます。
よろしくお願いいたします。
現在、入力フォームにIDとパスワードを入力し、フォームデータをID・パスワード認証用のCGIに渡し、正しければ任意のページへジャンプするという動きのページを製作したのですが、safariで動作チェックしたところ、正しく動きません。各サイトやQ&Aなどを調べたところ、どうやら文字化けによるものだと推測しました。 safariでフォーム送信が正常に動いているサイトなども見たのですが特別なことをしている様子が無いので、原因がいまいちわかりません。
詳細は下記
■サイト閲覧環境
OS:OSX 10.3.7
ブラウザ safari 1.2.4(v125.12)
テキストエンコーディング:Shift_Jis
■フォーム入力ページの仕様(HTMLファイルの中身)
<html lang="ja">
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
↑この二つのタグは記入してあります。
WindowsのIE・NN・Operaでは正常に動作します。
マックはほぼ無知に近いので、そのあたりもふまえて伝授いただければと思います、申し訳ありません、よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
パスワードに使用する文字に2バイト文字を許容すれば、おっしゃるようなことが起きるでしょうが、ASCII文字(A - Z、a -z、1 -9、ほか決められた記号類)のみに制限すれば、文字化け(文字コードの相違)が影響することはあり得ません。
なぜなら、ASCII文字(0001~007E)は、日本語に限らず全言語の文字コードで共通だからです。
パスワード認証がとおらないのは、ふつう暗号化に使っている技術をウェブブラウザ側が採用しているかどうかの問題と考えます。
hrs_rickyさんが暗号化・複合化のCGIまでお書きになっているのではないでしょうから、使っているCGIの付属ドキュメントで確かめてみてはいかがでしょうか?
Safariでパスワード認証できないサイトはまだいっぱいありますよ。だからInternet ExplorerをいまだにMac OS Xに付属させざるをえないのでしょう。
この回答への補足
回答ありがとうございます。
私の方で説明不足が多く申し訳ございません。
もう少し詳しく補足させていただきます。
パスワード認証用のCGIはPerlで自作しました。
CGIの内容は・・
フォーム内容を受け取り、会員情報のデータベース
と照合しOKであれば任意のページにジャンプすると
いうものです。
「暗号化」「複合化」はしていません。
送信用のフォーム部品は普通のテキストボックス(<input type="text" name"○○○">)でパスワード
用のフォーム部品は使っていません。
>パスワードに使用する文字に2バイト文字を許容す
>れば、おっしゃるようなことが起きるでしょう
>が、ASCII文字(A - Z、a -z、1 -9、ほか決めら
>れた記号類)のみに制限すれば、文字化け(文字
>コードの相違)が影響することはあり得ません。
フォームで送るデータについては2バイト文字を
使っておらず、すべてASCII文字での入力となって
います。
質問を出しつつ、簡単なパスワード認証用のCGIを
自作しテストしてみました。その結果まったく文字
化けはしておらず、きれいにフォーム送信内容が送
られて来ました。当然ですね(^^;
>Safariでパスワード認証できないサイトはまだい
>っぱいありますよ。だからInternet Explorerをい
>まだにMac OS Xに付属させざるをえないのでし
>ょう。
そうなんですか、まだ問題のあるブラウザなので
すね、できればsafariにも対応したいと思っている
ので。 困りました・・・。
最後に・・・
Windowsでは問題なく動作し、safariで文字化けして
いないとなると、自作したCGIの内容に問題がある
のだと思うのですが、やはり原因不明は変わらない
ような気もします。 なにか思い当たる事があれば
ご回答ください。
No.4
- 回答日時:
パスワード認証についての本題については、ASCII文字ないし半角英数字に限定するということで解決したと思いますが、「SafariからシフトJISの文字コードを送信したい」という発展した問題についても触れてみたいと思います。
Safariの環境設定>表示で「デフォルトエンコーディング:」を「日本語(Shift JIS)」にすれば、シフトJISで送信してくれると思います。ご検証ください。
No.2
- 回答日時:
自分もよくしらないんですけど、聞いたことがあることを書きます。
FOMRで送るときに「GET」「POST」があります。
GETだと、URLに添付させてデータを送るもので、
POSTだとある変数にいれこんで送るものだと思います。
(厳密にいうと違うと思います。すいません。
GETで送る場合、CGIだと文字化けをしてしまうようなので、
POSTで送ってみてはどうでしょうか。
回答ありがとうございます。
私の説明不足でした。
フォームの送信は「POST」で行っています。
パスワード認証のCGIはperlで自作しました。
私の自作CGIの方に何か問題があるのかもしれません
チェックしてみます。
ありがとうございました。
No.1
- 回答日時:
早速の回答ありがとうございます。
safariに限らずブラウザのバグを製作側が対応していくのって非常に大変ですね。参考URLを見たところパッチで回避する方法もあるんですね、参考になりましたありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ブラウザ起動~ログインまでの...
-
コマンドプロンプトでのエスケ...
-
フォルダロック
-
Windows10を使っているのですが...
-
Linux、Windows互換のファイル...
-
VISTAの圧縮フォルダのパスワード
-
puttyでキーボード入力ができま...
-
パスワードのコピー貼り付けの...
-
"Apple Network"とは何なのでし...
-
一般ユーザーでpasswdを実行す...
-
ログインできない
-
日本語passのzipを解凍
-
開かなくなったデーターは二度...
-
インターネットオプションのと...
-
突然返信のフォントが大きくな...
-
インターネットの画面を中央に...
-
エクセルの「セルの書式設定」...
-
パワーポイントで全角英数字を...
-
Thunderbirdでの画面表示文字を...
-
お気に入りバー文字を大きくす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトでのエスケ...
-
ブラウザ起動~ログインまでの...
-
puttyでキーボード入力ができま...
-
"Apple Network"とは何なのでし...
-
パスワードのコピー貼り付けの...
-
フォルダロック
-
大文字と小文字が混ざったパス...
-
パスワードの有効期限が切れて...
-
圧縮フォルダのパスワードを忘...
-
mac外付けマウント
-
ターミナルでパスワード入力が...
-
macのターミナルでパスワードの...
-
Automatorで自動ログイン
-
safari でのフォーム送信不具合
-
mac os 10.5.8のパスワードがわ...
-
ダイアログボックスの再表示。
-
MacBookのパスワードを忘れた
-
一般ユーザーでpasswdを実行す...
-
WindowsのID Managerのような(...
-
パスワードを,忘れました!
おすすめ情報