WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:レンタル掲示板でjavascriptを使う方法

0:[投稿] あつこ [2006/05/14 01:28 ] [環境:わからない わからない]

全くの初心者です。
色々試したのですがどうしてもできませんでした。
どうかアドバイスをお願いいたします。

パスワードで掲示板に入室する仕組みを作ったのですが
お気に入りなどで直接掲示板をアクセスされると
パスワード認証なしで入れるため
今回、掲示板に直接ダイヤログで警告がでるスクリプトを作りました。(以下スクリプト)
--------------------------------------
<!--
F=new Date();
S=F.getTime();
R=document.cookie;
start=R.indexOf("&chk=",0);
end=R.indexOf("&end",0);
X=R.substring(start+5,end);
if((S-X) > 30000 || R == "")
{
alert ("警告\n不正なアクセスです。");
location.href="check.html";
}
else document.write("");
//-->
---------------------------------------
しかし試しにお気に入りに入れて直接アクセスしてみても
警告がでずに開いてしまいました。
そこで気付いたのですが
そのレンタル掲示板のbodyの前には
----------------------------------------
<!--
function FirstPage() {
location.href= "○○.html";
}
//-->
-----------------------------------------

というのが入っていました。どうもそれが邪魔をして
私の作ったスクリプトが反応しないのかもしれません。
しかし、どうしてもレンタル掲示板の仕組みでは
body以下にしか自作スクリプトを入れることができません。
この場合、どうすれば警告スクリプトが動くようになるのでしょうか?


1:[回答] 通りがかり。 [2006/05/14 02:06 ]

そもそも、パスワードで入室する仕組みにすることを、レンタル掲示
板の運営側は許可しているんですか?
レンタル系の場合、それを許さないのがほとんどだと思いますが。


2:[回答] あつこ [2006/05/14 23:23 ]

通りがかり様
パスワード自体は別ファイルで作り、サーバーも別にしています。
ただ、掲示板自体を直接お気に入りに入れられたときや検索で入室された場合のみアラートが出る仕組みなんです。
でも、まだそのような仕組みにしたいということを運営者に確認はしていません。
やっぱり確認したほうがいいのでしょうか・・


3:[回答] スネーク [2006/05/14 23:31 ]

横から失礼します。
最初からパスワード入室制限機能を備えたレンタルBBSもあるようですが
そちらへの乗り換えは御都合が悪いでしょうか?


4:[回答] 通りがかり。 [2006/05/14 23:32 ]

目的も曖昧になっていませんか?

認証させたいのですか?
直接アクセスに警告したいのですか?
警告したからといって、アクセスを拒否したいわけではないのですよね?

あと、確認は必要でしょうね。
それか規約を確認すること。


5:[回答] あつこ [2006/05/15 00:25 ]

スネーク様
ありがとうございます。
既に掲示板を利用しているので、今すぐにはちょっと無理なんです。
でも、いずれ変えたいとは思っているのですが・・・


6:[回答] あつこ [2006/05/15 00:32 ]

通りすがり様
ありがとうございます。
本当なら、掲示板にダイヤログで直接パスワード認証にしたかったのですが、実際に作ってみたら書き込みするたびにパスワード認証を求められ、掲示板の前ページに移動するにもパスワードが求められ、きりがなかったのでパスワード認証は別ファイルで作りました。
そうなると、掲示板自体が直接アクセスされるとパスワードの意味がなくなってしまうので、警告したあと、パスワード認証ページに行くようにしました。アクセス拒否したいというわけではないのですが、一応会員専用掲示板という形にしたいので、このような仕組みを考えました。
あと、確認はやっぱり必要ですか・・・
規約は読んでみましたが、特に問題はなさそうでした。


7:[回答] m035 [2006/05/15 00:56 ][URL]

掲示板本体が検索エンジンにヒットすることはありませんか?
結構、そういう場合が多いのでご注意を。

>そのレンタル掲示板のbodyの前には〜というのが入っていました。
関数を定義しただけでは動作しないので特に問題はないかと。
むしろ、その関数がどこで呼び出されているのかが重要です。

それと、JavaScriptでのブロックは意味がないと思われます。
offにすれば終わりですし、意図せずにoffにしている場合もあります。
やはりパスワード認証などはサーバー側で行うべきものです。


8:[回答] あつこ [2006/05/15 01:44 ]

m035様
ありがとうございます。
一応検索ヒットを回避するため巡回ロボットの登録を拒否するスクリプトを入れています。それでも引っかかることがあるんですよね・・・たしか

>関数を定義しただけでは動作しないので特に問題はないかと。
むしろ、その関数がどこで呼び出されているのかが重要です。

すみません、良くわからないのですがbodyの前述に
<!--
function FirstPage() {
 location.href = "/php/e.php/○○○/";
}
function iEWindow() {
 window.open('/clickPICT/iPICT.html','iEmoji','width=330,height=260,scrollbars=1,location=0,menubar=0,left=10,top=30');
}
function vEWindow() {
 window.open('/clickPICT/vPICT1.html','vEmoji','width=400,height=340,scrollbars=1,location=0,menubar=0,left=10,top=30');
}
function eEWindow() {
 window.open('/clickPICT/ePICT1.html','eEmoji','width=360,height=290,scrollbars=1,location=0,menubar=0,left=10,top=30');
}
var nowDate = new Date();
function setNew(date) {
 var logDate = new Date(date);
 var miriSec = nowDate.getTime() - logDate.getTime();
 if (miriSec < (24 * 60 * 60 * 1000)) {
  document.write('<img src="/img/new.gif" alt="New">');
 }
}
//-->
とあるんです。
実は正直内容の意味がさっぱりわかりません・・・
警告の自作スクリプトが動作しないのは前述のスクリプトとは関係なかったのでしょうか?

そうなんですよねjavascriptをoffにすると意味がないんですよね・・
でも今のところ、どうしても外部に見られては困るといったことがないので、確実にパスワード認証しなければいけないというところまではいってないのですが、一応会員制なので念の為といった感じで作りたいと思いまして・・・ 


9:[回答] ミツ [2006/05/15 12:22 ]

何が念の為かわかりませんが会員制とうたっているのに、実際には誰で見れてしまうのでは、会員に対して裏切ることにならないですかね?
少なくとも、
「パスワード認証はありますが、簡単に無効化できるので信用しないで下さい。」
こんな説明を付ける必要はあると思います。
(説明もなくてパスワード認証があれば秘匿性が守られるって勘違いされちゃうから。)

会員が不便を被るだけで意味を成さないパスワード認証を付けたりせずに、掲示板はオープンであることを会員に知らせたほうがマシだと思いますよ??

全体がわからないのでちゃんと読んでませんが、>0のスクリプトは一度cookieを食ったら一定時間以内なら自由にアクセスできるというもので、お気に入りからはダメとかそういうスクリプトではないようですが、確認時にはcookieを削除/無効化しましたか?


10:[回答] あつこ [2006/05/15 13:57 ]

ミツ様
ありがとうございます。
そうですね、会員に対して説明を付け加える必要がありますね。
ただ、そこまで秘匿性が必要な内容の掲示板ではないので、
今のところ会員内で会話をすると言った軽い感じなんです。
でも今後、重要な内容の意見交換などが交わされるようになってきたら、きちっとサーバーで管理できるBBSに変更するつもりでいます。

クッキーについては、一度入ると更新したり書き込んだりするたびに
再度パスワードチェックページに飛ぶことのないように
一定時間アクセスできる仕組みになっていると思います。
ただ、IEを閉じて再度ちょくアクセスすると
「不正なアクセスです」とダイヤログに出し、
パスワードチェックページへ飛ぶようになっていると思うのですが。
掲示板以外の普通のHTMLサイトで実験したときはうまく行ったのですが・・・
本当に無知な質問で申し訳ありません。。。


11:[回答] ミツ [2006/05/15 14:50 ]

> IEを閉じて再度ちょくアクセスすると
>「不正なアクセスです」とダイヤログ
この辺りはcookieを書き込んでいる処理が >0 には無いのでわかりません。(cookie書き込みの有効期限の設定しだいです。)
cookieを書き込んでいる部分のソースやタイミングなども公開しないと。

> 掲示板以外の普通のHTMLサイトで実験したときはうまく行ったのですが
パスワードチェック用のHTMLは掲示板と別ドメインですよね。
そちらのHTMLでcookieの書き込みをしているのなら、
セキュリティ上異なるドメインを跨るcookieでの情報の受け渡しはうまくいかないと思います。


12:[回答] あつこ [2006/05/15 18:51 ]

ミツ様
ありがとうございます。
パスワードをチェックをするページファイルに以下のスクリプトを入れています。
------------------------------------------------
<!--
result=prompt("パスワードを入れて下さい","");
if(result != "atsu")
{
alert("パスワードが違います!")
location.href="caution.html"; ←最初のページへ誘導するためのページ
}
else
{
F=new Date();
S=F.getTime();
document.cookie="&chk="+S+"&end";
location.href="secret.html";  ←この飛ばし先のファイル名は実際は掲示板URLを入れてます
}
//-->
-----------------------------------------------
流れとしては、最初に
会員ページへというリンクのページ→パスワード認証ページ→掲示板
パスワードが違う場合は
会員ページへというリンクのページ→パスワード認証ページ→再度最初へ行くように誘導するページ→最初の会員ページへというリンクのページ
という構成です。

テストではすべて同じドメインでやっていましたが
実際の掲示板ではパスワード認証ページまでは同じドメインで
掲示板は違うドメインに飛ぶようになっています。
もしかして、そのせいで動かないのでしょうか??


13:[回答] 通りがかり。 [2006/05/15 21:58 ]

>もしかして、そのせいで動かないのでしょうか??

はい。


14:[完了] あつこ [2006/05/15 23:09 ]

通りがかり様
ありがとうございます。
そうだったんですか・・・(;^_^A
みなさんにいっぱいお答えいただいたにもかかわらず
最後までバカな質問で申し訳ございませんでした。
もっと勉強して出直します。
みなさん、ほんとうにありがとうございました。


[戻る]