2017-01-10 64 views
-3

我必须制作一个页面来检查一个链接,如果它是一个网络钓鱼链接,就会将其阻止。在PHP中执行特定URL阻塞的最佳方法?

根据黑名单检查URL的最佳/最有效的方法是什么?

我可以将其存储在MySQL或文本文件(也许在文本文件中使用JSON和遍历阻塞链路的阵列?)

我在想,如果我使用的MySQL那就要检查数据库每次链接都要检查,这可能是太耗费资源,但也许我错了。

无论哪种方式对我来说都不难实现,但我只是好奇这是最有效的方式。

+0

什么问题downvote?这些天大家都很关心这个问题。 –

+0

*有太多可能的答案,或者对于这种格式,答案会太长。请添加详细信息以缩小答案集或隔离可以在几个段落中回答的问题。* – shmosel

+0

[为什么使用MySQL over flatfiles?](http://stackoverflow.com/questions/2667850/why-使用mysql-over-flatfiles) – Mike

回答

1

如果您正在讨论传入的url,可能会被欺骗或隐藏。它可以通过$ _SERVER全局获得。例如:$_SERVER['HTTP_REFERER']

我不会做你的工作,因为它违反了指导方针,虽然看到你的回复后我会得到更多的信息,我可能会受到启发。

翻阅MySQL数据库的域名,这些主题可能是使用你:

MYSQL Fulltext search and LIKE

MySQL match() against() - order by relevance and column?

https://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html

让我知道最能帮助你,如果你需要进一步的指导,我可以提出一个可行的方法做这个。

P.S .:考虑表现超过精确度,因为我确实认为你的问题太模糊,回复必须过于彻底。您也可以遍历PHP数组来搜索URL黑名单。

而且,这些都是比较先进,包括正则表达式,但可能会感兴趣:

How to validate domain name in PHP?

https://corpocrat.com/2009/02/28/php-how-to-get-domain-hostname-from-url/

问候。