0

如何检查用户给定的链接是否属于特定网站的链接?我正在使用 php。我应该使用 preg 还是有它的功能?我也可以检查链接是否损坏?有它的功能吗?如何确保删除恶意链接或者无法自动处理?我应该使用以下功能吗? $link=mysql_real_escape_string($_GET['link']);

4

2 回答 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 回答