2017-01-10 51 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/

問候。