かなり、とっても、すごく初心者です。でもなんとか丁寧に説明して頂いているフリーのCGIは設置できるようになったのですが
コチラ→http://www.ortecweb.com/cgi/koukai/user/
凄く良い機能なのに上手く設置できません。助けてください。
■登録すると送られてくるメールが恐ろしく文字化けする。
■メールアドレスが少し長いと登録できない
■ログイン後のページ表示のアドレスをどこに書くかわからない・・・
↑もう3時間格闘してお勉強する気力がないのが本音です。
上記を修正したいです。
もしくは下記のものがあれば。
○同じような機能があり、丁寧な説明ページがあり初心者すぎる私でもできそうなものがあればぜひぜひ教えてください。(KENTさんは隠しディレクトリを持てないサーバーの説明がなく断念してます)
○管理者と登録者に両方にメールを送る。法人で使用できる。
情報管理が出来れば最高です。
どうかできるだけわかりやすく丁寧に
優しく教えてください・・・宜しくお願いします。
*ビンゴ回答の方にはポイントはずみますのでm(__)m
>■登録すると送られてくるメールが恐ろしく文字化けする。
charset="ISO-2022-JP"としていますが実際はShift_JISのままです。
そのためと思われます。
本文をコード変換すればいいのですが修正が多くなるので
とりあえず
print OUTMAIL "Content-Transfer-Encoding: 7bit¥n";
を8bitにして
print OUTMAIL "Content-Type: text/plain¥; charset=¥"ISO-2022-JP¥"¥n¥n";
のcharsetをShift_JISにしてみてはどうでしょう。
ローカルなら8bitでも流れると思います。
私の感じではSubjectも問題だと思います。
>■メールアドレスが少し長いと登録できない
regist.html
<INPUT size="30" type="text" maxlength="30" name="mail" style="ime-mode: inactive"> <INPUT size="30" type="text" maxlength="30" name="chkmail" style="ime-mode: inactive">
でmaxlength="30"となっているためと思われます。50か60程度にしてみてはいかかでしょう。
プログラム的には制限していないと思います(きちんと見ていない)
>■ログイン後のページ表示のアドレスをどこに書くかわからない・・・
regist.cgiの先頭の方にある
$loginurl =
がそれになります。が修正と削除だけですので、これ以降は別途、準備する必要があります。
$topurl
$sitename
も希望するものに変えます。
ただsub footerの部分を変えると著作権違反となるそうですので注意して下さい。
http://www.tohoho-web.com/wwwxx012.htm
パーミッションの変更は上記を参照して変更できれば
よいのですが。
下記のフォルダとファイルは666でNG時777に設定します。
└・login[フォルダ]┬・.htaccess・・・環境設定ファイルです。
├・.htpasswd・・・パスワード格納ファイルです。
├・index.html・・・TOPページ。サンプルです。
├・changedel.cgi・・・登録変更/削除処理プログラムです。
└・user.cgi・・・ユーザー登録情報格納ファイルです。
ぜんぶ666?ですか?
メールの件名は代替として
regist.cgiの中身を半角英数にします。
例
$Subject1 = "1kanryou 会員登録が完了しました";
#管理者向け件名
$Subject2 = "2tourokuari 会員登録がありました";
#パスワード再発行向け件名
$Subject3 = "3passsai パスワードの再発行";
#登録確認メール用の著名
URLは参考ですご存知でしたらごめんなさい。
ありがとうございます。
666に変更するとNGで777に変えると
やはり同じくログインできない状態です。
パスワードを入力しても入れない・・・。
あとはここだけなのですが・・・。
どうもすいませんでした。
私も実際に今自宅のパソコンにActivePerlとhttpdを
インストールして実行しましたが
ログイン画面が表示されないので確認できない状態です。
すでに御存知かもしれませんが
http://xxx.xxx.xxx/~xxx/cgi-bin/access/regist.cgi
にアクセスして確認します。
私の場合は3番目のメールサーバがないので
・メールサーバのパスが間違っています
と
最後の
・登録変更/削除プログラムのパーミッションが間違っています
でNGでした。
ほかは問題ありませんでした。
ウチのつかってるサーバーも一般公開しているところしか使えないので正直よくわかりませんw
でもイロイロありがとうございます!
ほんとお勉強不足なのに・・・どうして担当なんだろう(TT)
>メールの件名が文字化けします。
これはちょっと厄介です。
単純には
jcode'convert(*Subject1,'jis');
を#を付けて注釈にすることで私の環境では文字化けはしませんでした。
ですがメールの規格からするとどうかなぁと思います。
本来はhttp://www.din.or.jp/~ohzaki/perl.htm#JP_Base64
のようにするのが正しいのですが。
use MIME::Base64;
jcode'convert(*Subject1,'jis');
$Subject1 = '=?ISO-2022-JP?B?' . encode_base64($Subject1, '') . '?=';
とすることでも文字化けしませんでした。
これで本来の姿に近いのですがまだ十分ではなく、Subjectが長くなると問題になると思います。
これをして7bitとcharsetをISO-2022-JPに戻して、本文をjisに変換するのが正しい姿に近いのですが、そこまで修正を入れるのもどうかなぁと思います。
>それと、ログイン画面にいって
>ID(めるあど)とパスワード入力しても
>入れてもらえず、3回ほどくりかえすとダメ!な英語のページ表記に・・・。
>パーミッションとかもお聞きしていいですか?
regist.htmlでなくregist.cgiへアクセスすると動作チェックでパーミッションに問題ないか確認できます。
login/.htaccessのAuthUserFileのパスをlogin/.htpasswdを示すように修正する必要があります。これをしていないか或はlogin/.htpasswdに書き込みができてないので認証ができずにはじかれているのだと思います。
私は下記のようにしました。
regist.cgi 705
login/.htaccss 605
login/.htpasswd 606
login/changedel.cgi 705
login/user.cgi 606
メールに問題があると思います。またuser.cgiには生パスワードが載ってます。.htpasswdも公開ディレクトリーにあるのも気になります(対策はされてますが)。これだけでは登録と修正、削除だけなのでやりたいことの一部だと思うのですが、条件に合致しているのでしょうか。
修正に対して問題の少ないものの方がいいように思うのですが。
ほんといつもありがとうございますm(__)m
どうしてコレか・・・というと。
お客様が登録してくれた際に、管理者(私)にも
お客様にも登録内容が行くこと。
それと、登録する内容が多いことw
(統計を取りたいそうなので)
名前、年齢、アドレスなど。
後は、パスワードを忘れても自分でやり直せること。
ちなみに現在設置に成功しているのは
http://www.net-easy.com/psw/ezpsw.html です。
これに同じような機能があればいけそうです。
セキュリティに関しては、ロリポップを使ってるのですが
公開されているところしか使えなくて
KENTさんのところとかのしっかり?してそうなのを
設置できなかったんです・・・。
(パターン2の説明が少なくて・・・挫折)
出来ればなにか良いものありませんでしょうか(^^;
今日はとりあえず教えて頂いたことをやってみます!
またご回答お待ちしていますっ。
http://www.kent-web.com/pwd/gate.html
KENTさんのCGIはパーミッションが700か705ですね。
loginフォルダは755中身はcgiが700か705それ以外が666か644ではないでしょうか?私のレンタルサーバーで試してみました。
http://popup.tok2.com/home2/yosiaki/regist.cgi
折角ここまでできたのになんですが、KENTWebさんのものですが
「公開ディレクトリ以外に隠しディレクトリを置けない場合」に
書いて有りますよ。(secret.html → secret.cgi にリネームする)
あら。ほんとだw
で、KENTさんのにずっとてこずっている機能がつけば
正直最高なんです。
で、regist.cgiのテストでは私もOKなんです。
でもログインできない・・・。
○下記のファイルのノートパッド等で確認してみましょう。
登録したメールアドレスやパスワード等が入っていれば
CGIの動作は問題ありません。
└・login[フォルダ]┬・
├・.htpasswd・・・パスワード格納ファイルです。
└・user.cgi・・・ユーザー登録情報格納ファイルです。
○ 下記のパスがあっているか確認します。
例:/home/public_html/~user/access/.htpasswd
・.htaccess・・・
1.1行目の.htpasswdへのパスを変更。
└・login[フォルダ]┬・.htaccess・・・環境設定ファイルです。
ぜんぜんダメでした・・・。
チェックにも問題ないってでるのに
どうしてもパスワード入力しても
ログインさせてくれません。
いくつかフリーのアドレスとかとってやりましたが
今回は諦めます。
ロリポップはsuEXECを導入しているようです。
そのためパーミッションがシビアなのかもしれません。
http://lolipop.jp/?mode=manual&state=hp&state2=cgi
設定するパーミッションの値
login 705
login/.htpasswd 704
login/user.cgi 700
のように設定してみてはどうでしょう。
そのURLも確認してやってみてましたが
結局ダメでした。
どうも私の変更のしかたが悪いのか
イロイロ試しましたがやっぱりログインできません。
なので今回は諦めたいと思います。
ありがとうございました。
とても丁寧なご回答ありがとうございます!
今全て変えてみました。
アドレスは入力できるようになりましたが
メールの件名が文字化けします。
それと、ログイン画面にいって
ID(めるあど)とパスワード入力しても
入れてもらえず、3回ほどくりかえすとダメ!な英語のページ表記に・・・。
パーミッションとかもお聞きしていいですか?
(関係あるなら・・・ですが)
宜しくお願いします!