ラウンジ(兼FAQ掲示板)

birthdayのアイコン表示について
過去ログ NO.1131061999
□ マッシュ [2005年11月02日22時57分]
初めまして、お世話になります。
birthdayをDLしてアップロードしたのですが
アイコンが表示されません。登録者の一覧ページでは表示されているのですが…
過去記事を読ませて頂き、
$img_dir = "/birthday/";の部分を
$img_dir = "
http://puding0322.sakura.ne.jp/birthday/";に変えてみたのですがアイコン表示されませんでした。

表示しているページは

http://puding0322.sakura.ne.jp/birthday/bdindex.html
です。
□ NXer [2005年11月03日20時59分]

はじめまして。NXerです。

>過去記事を

参考にされたようですが、設置者により、サイトの作り方が違う
ことが多くて、
----------------------------------------------引用
>アイコンが表示されません。
----------------------------------------------
ということがよくあります。愚案は、とても簡単です。

----------------------32行目(もしくはそのあたり)
32 $img_dir = "./";
-----------------------
本当にこれだけです。当方のローカルサーバでアイコンは
きちんとでました。以上です。

********************************************
以下を、時間の余裕があれば、お読みください。
----------------------------
ディレクトリがすえぽんさんと 1 同じである 2 異なる
という2つの場合を考えることができます。
それがよく分からないから、31行目を読み、http://にされたのですね。
----------------------------------------------------------
30 # 表示ファイルから見た位置(基本ディレクトリ構成通りならこのまま)
31 # よく判らなければ http:// からのフルパスでも可
32 $img_dir = "./birthday/";
---------------------------------------------------------
ためしに現在の表示されていない画像の上で右クリックして、その
プロパティをみてください。次のようになっていました。
↓上のアイコンのURLです。
http://puding0322.sakura.ne.jp/birthday/http://puding0322.sakura.ne.jp/birthday/memo.gif
では、このようにアイコンが表示されるのは、どのように考えたらい
いのでしょうか。
ディレクトリ構成図です。
/public_html/    すえぽんさんと異なるケースです。
....|-/bbs/
....|-/birthday/   11/02作成ディレクトリ
.........|-bdindex.html  ■birthday表示ページ
.........|-birthday.cgiなどの諸ファイル
------------------------------------初期設定です。
32 $img_dir = "http://puding0322.sakura.ne.jp/birthday/";
--------------------------------------------
とすると、この場合は、■bindex.htmlにアクセスした時すでに
/birthday/ディレクトリに入っています。cgiは、32行目に進む前に、
次の前の括弧部分にいます。そして32行目の後半でhttp://と間違っ
て指定したURLになります。
http://puding0322.sakura.ne.jp/birthday/】【http://puding0322.sakura.ne.jp/birthday/mail_off.gif
求めている
http://puding0322.sakura.ne.jp/birthday/】【mail_off.gif】
と指定するのにはどうしたらいいのでしょうか。
--------------------------------------------
32 $img_dir = "./";
--------------------------------------------
です。つまり、bdindex.htmlとbirthday.cgiファイルは、今いる
同じ階層にあります。 .(ドット:同じ)階層にある画像ディレクトリに
アクセスできます。(相対パスの指定方法です。cgiを自前で設置する時の
キーワードです。これが分かると、cgiに萌え始める恐れがあります。)

よろしければ、次もお読みください。-----------------------------------
アクセスして、次のことがすこし気になりました。ウェブ歴、cgi歴、サーバ
の規約などが当方には不明なので、もし、的外れでしたら、お許しください。

http://puding0322.sakura.ne.jp/
にアクセスすると、ディレクトリが表示されました。

その原因と問題点、さらに解消策を参考までに書いてみます。
ウェブサイトのセキュリティ問題を指摘・公表することは、悪戯を
誘発するというマイナス面があります。しかし、次のようにすれ
ば基本的には大丈夫です。

原因:通常はトップページとしてindex.htmlを設置することが
プロバイダーとの契約時に義務付けられています。
アクセスすると、トップページが開き、ディレクトリが表示
されることはありません。そのindex.htmlが無いことが原因です。
また、そのために、すえぽんさんとは異なるディレクトリ構成と
なり、通常は発生しない不具合がでたものと愚考します。

問題点:第3者に直接各ファイルなどにアクセスされる点。それ以外
にindex.htmlを置かないで、cgiファイルや画像ファイルを置く行為は、
サーバを物置きとして利用することになります。これは、場合によっ
ては契約違反行為になります。cgiの設置については、まずサーバの
規約内で利用することが基本と思います。トップページの工事中など
で一時的なものかもしれませんが、必ずしも善意の第3者だけがアク
セスするというものではないと思われます。

解消策:すえぽんさんのようなディレクトリ構成を推奨します。
/public_html/
....|-index.html トップページにbirthdayをよく設置します。
....|-bdindex.html トップを避けて、このようにすることもあります。
....|-/birthday/
.........|-birthday.cgiなどの諸ファイル
おそらくこの場合は、すえぽんさんの原作の初期設定で問題なく
アイコンは表示されると思います。
(愚案のその2、bdindexの位置をかえる、または、
 愚案その3、トップページのindex.htmlにbirthdayを組み込む。)

各ディレクトリにも空白のindex.htmlを作成して転送すれば
ディレクトリ内容が見えなくなります。

ご質問の真の原因は、サイト構築と深く関係していると思います。
とにかくcgiが動くこと と サーバやcgiのスクリプトの制約内で
動くこと とは、大きな違いかと思います。たくさんの制約を克服さ
れて、貴サイトが自前のcgiで、ますます拡大・発展することを心から
お祈りします。
□ マッシュ [2005年11月04日08時53分]
ありがとうございます。アイコンの表示出来るようになりました。

それからindex.htmlを作ればいいとのアドバイスありがとうございます。
初心者なもので、全然気にも留めてませんでしたぁ
早速やってみます。
一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2008 suepon , All rights reserved. Powered by CGI Script Market.