【发布时间】:2013-06-27 22:29:59
【问题描述】:
links.php 包含以下代码:
$ipaddress = $_SERVER["REMOTE_ADDR"];
<p><a href="track.php?page=http://www.google.co.uk" target="_blank">google.co.uk</a></p>
<p><a href="track.php?page=http://www.bbc.co.uk" target="_blank">bbc.co.uk</a></p>
<p><a href="track.php?page=http://www.cnn.com" target="_blank">cnn.com</a></p>
<p><a href="track.php?page=http://www.yahoo.co.uk" target="_blank">yahoo.co.uk</a></p>
track.php 捕获点击的链接:
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("mydb1") or die(mysql_error());
$redirect = mysql_real_escape_string($_GET['page']);
$ipaddress = $_SERVER["REMOTE_ADDR"];
$page_insert = mysql_query("INSERT INTO link_track (myurl, myip1, mydate) VALUES ('$redirect', '$ipaddress', now())") or die(mysql_error());
header("Location: $redirect");
有没有办法阻止某人直接访问track.php。
非常感谢您的帮助,谢谢。
对于其他问题,我深表歉意:
如果我想从 url 中删除 http://www. 部分,我可以修改我的 track.php 代码如下:
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("mydb1") or die(mysql_error());
$redirect = mysql_real_escape_string($_GET['page']);
$redirect2 = parse_url($redirect, PHP_URL_HOST);
$redirect2 = preg_replace('/^(www\.)/i', '', $redirect2);
$ipaddress = $_SERVER["REMOTE_ADDR"];
$page_insert = mysql_query("INSERT INTO link_track (myurl, myip1, mydate) VALUES ('$redirect2', '$ipaddress', now())") or die(mysql_error());
header("Location: $redirect");
【问题讨论】:
-
没有。凡事都有办法。你可以混淆它。但你不能阻止它。
-
是你的 track.php 加载在任何类型的模板中,即:如果你正确加载它,它有一个标题或包含的东西,如果它直接加载,标题等不包括在内?