0人が「このQ&Aが役に立った」と投票しています
回答(2件中 1~2件目)
>スクリプトも記述してあったんですが、500エラーで動きませんでした。
500エラーは何らかの転記ミスかもしれませんね。ただ「やり方」はわかると思いますので、phpで書き直せばいいのではないでしょうか?
以下、あくまでも書き直しの一例として((整形のため日本語(いわゆる全角)の空白が混じっているので注意)
----------------------------------------------------------------------
<?php
$cgi = "ad.cgi"; #CGI
$datafile = "ac.dat"; #データファイル
$url = "http://www.yahoo.co.jp/"; #広告のサイト
$dwlfile = "xxx.html"; #ダウンロード用に表示させるページ
$errmsg = '';
if ($_GET[mode] == 'ad') {
$fp = fopen($datafile, 'a');
fwrite($fp, $_SERVER['REMOTE_ADDR'] . "\t" . date('Y/m/d H:i:s') . PHP_EOL);
fclose($fp);
header('Location: ' . $url);
exit;
}
if ($_GET[mode] == 'download') {
$click = false;
$arr = file($datafile);
$fp = fopen($datafile, 'w');
foreach($arr as $line) {
list($ip, $atime) = explode("\t", trim($line));
if (strtotime($atime) < time() - 60*60) { continue; }
if ($ip == $_SERVER['REMOTE_ADDR']) { $click = true; }
fwrite($fp, $ip . "\t" . $atime . PHP_EOL);
}
fclose($fp);
if ($click) {
if (@readfile($dwlfile)) { exit; }
$errmsg = "ダウンロードページが開けません";
}
else {
$errmsg = "先に広告をクリックしてください";
}
}
?>
<?= $errmsg; ?>
<a href="?mode=ad">広告</a>
<p>
<a href="?mode=download">ダウンロード</a>
----------------------------------------------------------------------
投稿日時 - 2008-04-21 09:20:12
遅れて申し訳ありません。ていねいにスクリプトを作ってくれてありがとうございます。
しかし、自分のau端末で試していて気付いたのですが、auはipアドレスが毎回変動しうまく認証できず、かといってdocomoではクッキーがつかえないのでip、クッキーは認証に使えないみたいです。
auではサブスクライバID、ドコモでは最近始まったiモードIDというものを使って認証することはできないでしょうか?
iモードIDについて
http://neta.ywcafe.net/000835.html
投稿日時 - 2008-04-26 09:48:58
どういう構成にしたいのかいまいちわかりづらい・・・。
広告をクリックしてしまったら、広告のページにとぶので
ダウンロードは当然できないとおもいますが?
投稿日時 - 2008-04-20 00:22:52
説明がはっきりしておらず、申し訳ありません。
Aのリンク先にアクセスしないとBのリンク先にアクセス出来ない機能です。(Aから一度戻ってBにアクセスする)
過去の質問を探していた処、このようなものが見つかりました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2134159
スクリプトも記述してあったんですが、500エラーで動きませんでした。
投稿日時 - 2008-04-20 09:36:09