与使用URL参数检索记录详细信息相关的安全性

时间:2011-10-26 01:28:56

标签: php mysql http

我有一个脚本,它根据URL中指定为参数(其中两个)的两个值来获取记录。在这种情况下,我需要将文件公开,并假设如果个人具有正确的价值对组合(其中x = 1& y = 2),他们可以正确访问记录。

这不是我们在这里谈论的银行或国家安全,但存在一些隐私问题。

我特别担心这些页面被蜘蛛编入索引并变得可搜索,并且还关注代理服务器关注Http流量以及人类通过某人的历史记录。我使用meta标签来限制它,但我担心一些蜘蛛会忽略它们。

您对此方法的安全性有何看法?

我有什么遗失的东西会吓到我吗?

是否有任何简单的技术来限制此方法的安全问题?

一个想法是使用if语句限制创建后六小时对记录的访问。

由于

1 个答案:

答案 0 :(得分:0)

我不知道这是否有帮助。这只是一个快速的建议

$x = htmlspecialchars($_REQUEST["x"]);
$y = htmlspecialchars($_REQUEST["y"]);

//由于您只使用数字

$x = preg_replace("/[^0-9]/","", $x);
$y = preg_replace("/[^0-9]/","", $y);

//这将在途中发送

if ( empty( $y ) ) {
$domain = $_SERVER["HTTP_HOST"];
$domain_redirect = "http://".$domain."/index.php";
header("Location: $domain_redirect");
die;
}

$SQL = "SELECT * FROM table WHERE y = '$y' && x = '$x'";
$result = mysql_query( $SQL );
while( $row = mysql_fetch_array( $result ) ) {
$some_id = $row["some_id"];
}

//这将再次发送给他们

if ( empty ( $some_id ) ){

$domain = $_SERVER["HTTP_HOST"];
$domain_redirect = "http://".$domain."/index.php";
header("Location: $domain_redirect");
die;
}