我的問題是:我需要限制訪問另一個國家(如日本)的人。因爲我這樣做,日本沒有人可以去我的網站?我如何限制我的頁面訪問? Symfony2
0
A
回答
0
使用http://ipinfo.io/ API。代碼如下:(PHP)
$allowed_countries = array("IN", "US", ...);
$country = file_get_contents("http://ipinfo.io/{$_SERVER['REMOTE_ADDR']}/country");
if(!in_array($country, $allowed_countries))
{
echo 'Restricted'; //or any error message.
}
+0
緩存的IP地址(或將它們存儲在一個數據庫),使之前檢查你的緩存(或DB)每次通話都可以加快呼叫。 – qooplmao
1
您必須檢測用戶的IP和用戶重定向到一個錯誤頁面,如果該IP是來自日本。
一個很好的捆綁於檢測用戶的IP可以在這裏找到:
https://github.com/aferrandini/Maxmind-GeoIp
要阻止一次你能做到這定義方法onKernelRequest一個聽者裏面的IP檢查你的網頁。這裏可以看到一個例子: http://symfony.com/doc/2.3/cookbook/service_container/event_listener.html#request-events-checking-types
不要忘記在每個bundle中的services.yml文件中註冊監聽器。
的另一種方法來檢測日本用戶可以解析從瀏覽器接收用戶代理並解析它,它很可能包含「JA」或「JP」作爲語言標記。
相關問題
- 1. 如何限制訪問我的網頁
- 2. 限制訪問頁面php
- 3. Django。限制頁面訪問
- 4. Django:限制訪問頁面
- 5. 限制訪問我的網站上的頁面,如果我沒有啓動會話在Symfony2與fosuser
- 6. 我該如何限制Flask的訪問
- 7. 如何訪問我的wordpress頁面?
- 8. 如何訪問我導航的頁面?
- 9. htaccess - 如何限制從我家訪問
- 10. 如果用戶登錄,我的受限PHP頁面不限制訪問
- 11. 如何限制在匯合頁面一次性頁面訪問
- 12. Symfony2的訪問控制限制ROLE_SUPER_ADMIN
- 13. 如何限制訪問某些網頁在我的網站
- 14. 我如何定製TFS 2012網頁訪問歡迎頁面?
- 15. 限制對colorbox的頁面訪問
- 16. 限制訪問WordPress的頁面
- 17. 限制對特定頁面的訪問
- 18. 限制直接的頁面訪問
- 19. 限制訪問php中的頁面
- 20. 限制訪問使用ASP.NET的頁面
- 21. 如何訪問我的孩子頁面.aspx頁面中我的母版頁值
- 22. Symfony2控制檯限制訪問
- 23. 我如何限制訪問我的網站的文件?
- 24. Symfony2訪問控制給我403錯誤
- 25. 我如何限制訪問我的文件夾
- 26. 我如何在symfony2中自定義訪問被拒絕的頁面
- 27. 限制直接訪問錯誤頁面
- 28. 限制用戶同時訪問頁面
- 29. 限制訪問特定頁面
- 30. 限制頁面訪問在php
你應該實現一個事件監聽器監聽控制器事件做你的邏輯 參考 http://stackoverflow.com/questions/12553160/getting-visitors-country - 從 - 他們-IP 和 http://symfony.com/doc/current/cookbook/event_dispatcher/before_after_filters.html –