如何检查用户给定的链接是否属于特定网站的链接?我正在使用 php。我应该使用 preg 还是有它的功能?我也可以检查链接是否损坏?有它的功能吗?如何确保删除恶意链接或者无法自动处理?我应该使用以下功能吗?
$link=mysql_real_escape_string($_GET['link']);
问问题
110 次
2 回答
0
如何检查用户给定的链接是否属于特定网站的链接?
您可以尝试使用或file_get_contents()
来获取链接。get_headers()
curl
我应该使用 preg 还是有它的功能?
可以通过以下方式验证 URL 的内容filter_input()
:
$url = filter_input(INPUT_GET, 'link', FILTER_VALIDATE_URL);
// $url would be false if invalid or null if not available
我也可以检查链接是否损坏?
如前所述,您必须获取链接并确定状态代码。
有它的功能吗?
是的,如前所述。
如何确保删除恶意链接或者无法自动处理?
如果链接无效,则由您自行删除数据库中的相应条目,或者您存储它们的任何位置。
我应该使用以下功能吗?
$link=mysql_real_escape_string($_GET['link']);
这用于为数据库存储准备值。它也使用旧mysql_
函数,您应该切换到 mysqli 或 PDO 并使用准备好的语句来完全处理转义。
于 2013-04-09T06:19:35.407 回答
0
始终使用 get_headers,它可以帮助您验证网站的状态,无论它是否可用。
$val = @get_headers(" http://www.google.com ");
print_r($val[0]);
使用以下 preg_match 模式检查损坏的链接。
%^((https?://)|(www.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i
于 2013-04-09T06:21:50.600 回答