《 よくありそうな質問 》
全般
- 404エラーが出ます。
ブラウザで指定しているアドレスのファイルが見つかっていません。
<FORM> タグの METHOD=**** の部分のパスを確認してください。
リンクであれば href=**** の部分を確認してください。
起動したいファイルをアップロードしているか確認してください。
- 403エラーが出ます。
アクセス権(パーミッション)です。
ファイルのパーミッションが、サーバーに指定されている値かどうか確認してください。
各CGIの説明ファイルに書かれているパーミッションは参考値です。必ずサーバー側に確認してください。
プロバイダーに指定されている、CGIを動作できるディレクトリかどうか確認してください。
ファイルが入っているディレクトリのパーミッションも確認してください。
- 500エラーが出ます。
このエラーもパーミッションの可能性があります。確認してください。
CGIファイルの先頭に書いてあるPerlのパス ( 初期値 #!/usr/local/bin/perl
) があっているか確認してください。
転送モードの確認をしてください。
CGIやPHPファイルは、必ずアスキー(テキスト)モードで転送してください。改行コードを自動で変換してくれます。
プログラム自体に不具合がある場合があります。
この場合、サーバーのエラーログを見れないと不具合箇所を特定できません。(人間だもの・・・みつを) 不具合報告をお願いします。
エラーログが見れない方にエラーチェック用CGIを用意しました。エラーの出るCGIと同じディレクトリに設置して「CGIのエラーチェック」を行ってください。エラーログが出てきます。初期パスワードは「pass」です。
- 文字化けします
表示文字コードを設定できるスクリプトの場合、設定した文字コードと表示したHTMLページの文字コードが合うか確認してください。
表示したページのHTMLのメタタグに charset=**** という部分があればあわせてください。
FTPソフトに文字コード自動変換機能がついていないか確認してください。
サーバーで文字コードを自動変換されないか確認してください。
ほとんどのスクリプトをSHIFT-JISで作成していますが、ダウンロード時点でスクリプトが別コードで書いていないか確認してください。
ちなみに、RSSファイル作成のみUTF-8で作成しています。
- CGIやPHPへのパスは絶対パスでしょうか?相対パスでしょうか?
どうでしょう・・・ 両方試してみてください。絶対パスのほうが確率は高いと思います。
- エラーメッセージは出ないのにメールが送信されません。
CGIが正常に動作している様であれば、SENDMAILのパスを確認してください。
-i -t -f 等の細かいオプションも確認してください。
メールソフトやメールサーバーの迷惑メールの設定も確認してください。
- 掲示板が荒らされるなど、アクセス制限したい訪問者がいます。
いくつか方法を提示します。
- 環境設定CGIから投稿者のログが見れるプログラムであれば、制限したい訪問者のホスト名またはIPアドレスを確認してください。
「投稿拒否ホスト名」という項目があれば、その項目に確認したホスト名を入力してください。
- 投稿を許可する相手が特定少数の場合で、「投稿許可ホスト名」等の項目があれば、その項目に許可したい訪問者のホスト名を入力してください。
ダイヤルアップ接続などで、ホスト名が接続するたびに微妙に変わる場合は、プロバイダ名の部分だけでも効果的です。
例)
許可したいホスト名 → ***-***-***-***.s11.a111.ap.plala.or.jp
「投稿許可ホスト名」に入力する値 → plala.or.jp
plala.or.jp を含まないホスト名を全て拒否します。
- 「不正アクセスチェックをする際のパス」という項目があれば、設置しているサイトのアドレスの1部分を入力します。
例)
設置しているCGIまでのアドレス → http://cgi-garage.parallel.jp/bbs/bbs.cgi
「不正アクセスチェックをする際のパス」に入力する値 → cgi-garage.parallel.jp
投稿する際に環境変数「HTTP_REFERER」には、CGIの起動元アドレスが入ります。
トップページからのリンクで投稿する場合 → http://cgi-garage.parallel.jp/index.html がはいります。
CGIから投稿する場合 → http://cgi-garage.parallel.jp/bbs/bbs.cgi がはいります。
どちらからのHTTP_REFERERにも、cgi-garage.parallel.jp の文字列が見つかります。
この状態にならないと、投稿が出来なくなります。
つまり、ロボットなどのアクセスを制限できます。
接続端末によっては、HTTP_REFERERが取れない場合があります。(特に携帯)
- 会員制に出来ればしてしまう。
- .htaccess ファイルでアクセス制限をする。 → 調べる
- 以上の5項目で使いやすいものを組み合わせてください。
それでも完全ではありません。
まだくる場合は、1つずつホスト名を拒否して行ってください。
- 「ファイルが開けません」というエラーメッセージが出てきます。
文字通りファイルが開けていません。パーミッションやファイルの存在を確認してください。
書き込みできる設定かどうか確認してください。
ファイルが存在するディレクトリのパーミッションも確認してください。
|
|