├── .github └── workflows │ ├── release.yml │ └── tests.yml ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── composer.json ├── ecs.php └── lib ├── ACL ├── ACLInterface.php ├── IPAddressACL.php └── UserAgentACL.php ├── Bundle ├── AbstractBundle.php ├── BadBehaviorBundle.php └── BundleInterface.php ├── Check ├── AbstractCheck.php ├── AbstractConfigurableCheck.php ├── CheckInterface.php ├── CookiesCheck.php ├── HeadersCheck.php ├── PostRequestCheck.php ├── ProtocolCheck.php ├── UrlCheck.php ├── UserAgent │ ├── Bot │ │ ├── AbstractBot.php │ │ ├── BaiduBot.php │ │ ├── GoogleBot.php │ │ ├── MsnBot.php │ │ └── YahooBot.php │ ├── BotInterface.php │ ├── Browser │ │ ├── AbstractBrowser.php │ │ ├── KonquerorBrowser.php │ │ ├── LynxBrowser.php │ │ ├── MozillaBrowser.php │ │ ├── MsieBrowser.php │ │ ├── OperaBrowser.php │ │ └── SafariBrowser.php │ ├── BrowserInterface.php │ ├── ScannableUserAgentInterface.php │ └── UserAgentInterface.php └── UserAgentCheck.php ├── Exceptions ├── AccessDeniedException.php └── StopScreeningException.php ├── Gatekeeper.php ├── IP.php ├── Listing ├── AbstractList.php ├── IPList.php ├── ListInterface.php └── StringList.php ├── Result ├── AbstractResult.php ├── Explainer.php ├── NegativeResult.php ├── PositiveResult.php └── ResultInterface.php ├── Screener.php ├── ScreenerInterface.php ├── Storage ├── LogStorage.php └── StorageInterface.php ├── UserAgent.php ├── UserAgentString.php ├── UserAgentStringParser.php └── Visitor.php /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/composer.json -------------------------------------------------------------------------------- /ecs.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/ecs.php -------------------------------------------------------------------------------- /lib/ACL/ACLInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/ACL/ACLInterface.php -------------------------------------------------------------------------------- /lib/ACL/IPAddressACL.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/ACL/IPAddressACL.php -------------------------------------------------------------------------------- /lib/ACL/UserAgentACL.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/ACL/UserAgentACL.php -------------------------------------------------------------------------------- /lib/Bundle/AbstractBundle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Bundle/AbstractBundle.php -------------------------------------------------------------------------------- /lib/Bundle/BadBehaviorBundle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Bundle/BadBehaviorBundle.php -------------------------------------------------------------------------------- /lib/Bundle/BundleInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Bundle/BundleInterface.php -------------------------------------------------------------------------------- /lib/Check/AbstractCheck.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/AbstractCheck.php -------------------------------------------------------------------------------- /lib/Check/AbstractConfigurableCheck.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/AbstractConfigurableCheck.php -------------------------------------------------------------------------------- /lib/Check/CheckInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/CheckInterface.php -------------------------------------------------------------------------------- /lib/Check/CookiesCheck.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/CookiesCheck.php -------------------------------------------------------------------------------- /lib/Check/HeadersCheck.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/HeadersCheck.php -------------------------------------------------------------------------------- /lib/Check/PostRequestCheck.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/PostRequestCheck.php -------------------------------------------------------------------------------- /lib/Check/ProtocolCheck.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/ProtocolCheck.php -------------------------------------------------------------------------------- /lib/Check/UrlCheck.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UrlCheck.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Bot/AbstractBot.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Bot/AbstractBot.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Bot/BaiduBot.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Bot/BaiduBot.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Bot/GoogleBot.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Bot/GoogleBot.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Bot/MsnBot.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Bot/MsnBot.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Bot/YahooBot.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Bot/YahooBot.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/BotInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/BotInterface.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Browser/AbstractBrowser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Browser/AbstractBrowser.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Browser/KonquerorBrowser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Browser/KonquerorBrowser.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Browser/LynxBrowser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Browser/LynxBrowser.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Browser/MozillaBrowser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Browser/MozillaBrowser.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Browser/MsieBrowser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Browser/MsieBrowser.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Browser/OperaBrowser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Browser/OperaBrowser.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/Browser/SafariBrowser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/Browser/SafariBrowser.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/BrowserInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/BrowserInterface.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/ScannableUserAgentInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/ScannableUserAgentInterface.php -------------------------------------------------------------------------------- /lib/Check/UserAgent/UserAgentInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgent/UserAgentInterface.php -------------------------------------------------------------------------------- /lib/Check/UserAgentCheck.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Check/UserAgentCheck.php -------------------------------------------------------------------------------- /lib/Exceptions/AccessDeniedException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Exceptions/AccessDeniedException.php -------------------------------------------------------------------------------- /lib/Exceptions/StopScreeningException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Exceptions/StopScreeningException.php -------------------------------------------------------------------------------- /lib/Gatekeeper.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Gatekeeper.php -------------------------------------------------------------------------------- /lib/IP.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/IP.php -------------------------------------------------------------------------------- /lib/Listing/AbstractList.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Listing/AbstractList.php -------------------------------------------------------------------------------- /lib/Listing/IPList.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Listing/IPList.php -------------------------------------------------------------------------------- /lib/Listing/ListInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Listing/ListInterface.php -------------------------------------------------------------------------------- /lib/Listing/StringList.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Listing/StringList.php -------------------------------------------------------------------------------- /lib/Result/AbstractResult.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Result/AbstractResult.php -------------------------------------------------------------------------------- /lib/Result/Explainer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Result/Explainer.php -------------------------------------------------------------------------------- /lib/Result/NegativeResult.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Result/NegativeResult.php -------------------------------------------------------------------------------- /lib/Result/PositiveResult.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Result/PositiveResult.php -------------------------------------------------------------------------------- /lib/Result/ResultInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Result/ResultInterface.php -------------------------------------------------------------------------------- /lib/Screener.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Screener.php -------------------------------------------------------------------------------- /lib/ScreenerInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/ScreenerInterface.php -------------------------------------------------------------------------------- /lib/Storage/LogStorage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Storage/LogStorage.php -------------------------------------------------------------------------------- /lib/Storage/StorageInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Storage/StorageInterface.php -------------------------------------------------------------------------------- /lib/UserAgent.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/UserAgent.php -------------------------------------------------------------------------------- /lib/UserAgentString.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/UserAgentString.php -------------------------------------------------------------------------------- /lib/UserAgentStringParser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/UserAgentStringParser.php -------------------------------------------------------------------------------- /lib/Visitor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secondtruth/gatekeeper/HEAD/lib/Visitor.php --------------------------------------------------------------------------------