我有一个网站,人们在我的数据库中添加他们的网站,我已经做过像任何用户只能添加一个相同网站的条目,例如 如果user1添加:http://site1.com,那么没有其他用户可以添加http://site1.com他们会显示此网站已经在数据库中,现在有些人做了这个他们制作子域名的事情http://subdomain.site1.com,然后他们可以添加已存在于数据库中的主域的UL数量的子域。现在我的问题是如何防止这种情况发生?使用PHP
我的尝试:
....
$check = mysql_query("SELECT * FROM domain WHERE url LIKE '%$suburl%'");
if($check=="$url"){
echo"You cannot add a subdomain";
}
?>
答案 0 :(得分:2)
如果新条目为http://subdomain.site1.com
,请使用下面的函数获取site1.com
部分(我得到它here)并将结果放在LIKE '%%'
// Get the domain name from URL
function get_domain($url)
{
$host = parse_url($url, PHP_URL_HOST);
if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $host, $regs)) {
return $regs['domain'];
}
return false;
}
$host = get_domain("http://subdomain.site1.com"); // site1.com
$qry = mysql_query("SELECT * FROM domain WHERE url LIKE '%$host%' LIMIT 1");
if (mysql_num_rows($qry)) {
// Site already exist
}