すべてのカテゴリ » インターネット・パソコン » インターネットサービス

質問

終了

So-netのメデ鯛!くじについて質問です。
メデ鯛!くじのサイトをブックマークして、そこから表示するとエラーになるのですが、これはどうしてでしょうか?
何か解決策はありますか?

  • 質問者:tr
  • 質問日時:2009-04-05 13:41:28
  • 0

簡単に言うと、リンクを押した時だけデータが送信される様になっています。
このデータが不正な場合、サーバ側でエラーにする様になってます。

詳細な処理の流れはこんな感じです。
1.メデ鯛!くじリンクをクリックする。
2.Javascriptが動作し、現在の日時を隠し項目timeに投入する。
 フォーマットはyyyyMMddhh。
 例)2009年4月5日午後4時の場合、timeの値は2009040516。
3.隠し項目timeの値を16進数に変換し、隠し項目tokenに投入する。
 例)timeの値が2009040516の場合、tokenの値は77BF8684。
4.サーバにデータを送信。
5.サーバで、受け取ったtimeの値を16進数に変換する。(time_sと仮定)
6.time_sとtokenをチェックし、一致した場合はメデ鯛!くじのhtmlを返却する。
7.一致しない場合はエラーhtmlを返却する。
8.ブラウザに返却されたhtmlが表示される。


timeとtokenに数値が入っていて、timeを16進数にした物とtokenの値が一致すれば、メデ鯛!くじが表示されます。
この時、日付のチェックが行われておらず、単純に値が一致するだけでチェックは通ります。
ということで、これらを満たすhtmlファイルを作れば、メデ鯛!くじを表示できることになります。
例えば、以下の様なhtmlファイルを作ればOKです。

<html>
<body onLoad="document.forms[0].submit();">
<form method="post" action="https://www.so-net.ne.jp/kuji/medetai/">
<input type="hidden" name="time" value="1">
<input type="hidden" name="token" value="1">
</form>
</body>
</html>

このソースは、html表示時にメデ鯛!くじにジャンプするようになってます。
timeとtokenにそれぞれ"1"が入っているので、サーバ側のチェックも通ります。
("1"は16進数にしても"1"です。)
htmlファイルを適当な名前で保存しブックマークすれば、ブックマークからメデ鯛!くじを表示することができます。

  • 回答者:tommy (質問から8時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

ありがとうございました。
よくわかりました。
提示していただいたやり方を試してみます。

並び替え:

ログインしてないからですよ!

この回答の満足度
  
回答ありがとうございました。
お礼コメント

ログインしていてもエラーになりますよ!
ポイント目当てで回答するにしても、もうちょっと頭を使いましょうね。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る