From 827c72908f8127a710bd2b89c1b205d935f56d95 Mon Sep 17 00:00:00 2001 From: LI JIAHAO Date: Tue, 20 Jun 2017 21:10:32 +0800 Subject: [PATCH] ua new --- app/Http/Middleware/Authenticate.php | 4 +- composer.json | 3 +- composer.lock | 161 ++++++++++++++++++++++++++- config/app.php | 2 + 4 files changed, 167 insertions(+), 3 deletions(-) diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index 297f27c..7d01e8d 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -5,6 +5,7 @@ namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Redirect; +use Jenssegers\Agent\Agent; class Authenticate { @@ -23,7 +24,8 @@ class Authenticate } else { - if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false + $agent = new Agent(); + if (strpos($agent->getUserAgent(), 'MicroMessenger') !== false && !$request->session()->has('wechat_open_id') ) { return Redirect::to('/wx'); diff --git a/composer.json b/composer.json index 6464b42..65371ca 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,8 @@ "laravel/browser-kit-testing": "^1.0", "satooshi/php-coveralls": "^1.0", "jasig/phpcas": "^1.3", - "mews/purifier": "^2.0" + "mews/purifier": "^2.0", + "jenssegers/agent": "^2.5" }, "require-dev": { "fzaninotto/faker": "~1.4", diff --git a/composer.lock b/composer.lock index 70aaa2d..7628fc4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "532bb9f36654d490014eddaf16a312c8", + "content-hash": "35bf25b7a5a40f8460ed190fda9c872c", "packages": [ { "name": "doctrine/inflector", @@ -436,6 +436,113 @@ ], "time": "2017-04-10T19:12:45+00:00" }, + { + "name": "jaybizzle/crawler-detect", + "version": "v1.2.46", + "source": { + "type": "git", + "url": "https://github.com/JayBizzle/Crawler-Detect.git", + "reference": "55e98a6c733a7f99912f6239c8d7ee25ed4f9eb5" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/JayBizzle/Crawler-Detect/55e98a6c733a7f99912f6239c8d7ee25ed4f9eb5.zip", + "reference": "55e98a6c733a7f99912f6239c8d7ee25ed4f9eb5", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Jaybizzle\\CrawlerDetect\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Beech", + "email": "m@rkbee.ch", + "role": "Developer" + } + ], + "description": "CrawlerDetect is a PHP class for detecting bots/crawlers/spiders via the user agent", + "homepage": "https://github.com/JayBizzle/Crawler-Detect/", + "keywords": [ + "crawler", + "crawler detect", + "crawler detector", + "crawlerdetect", + "php crawler detect" + ], + "time": "2017-06-19T21:29:50+00:00" + }, + { + "name": "jenssegers/agent", + "version": "v2.5.1", + "source": { + "type": "git", + "url": "https://github.com/jenssegers/agent.git", + "reference": "68bef4f773933d33f9b6c8d1f2ff002f97a65b0b" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/jenssegers/agent/68bef4f773933d33f9b6c8d1f2ff002f97a65b0b.zip", + "reference": "68bef4f773933d33f9b6c8d1f2ff002f97a65b0b", + "shasum": "" + }, + "require": { + "illuminate/support": "^4.0|^5.0", + "jaybizzle/crawler-detect": "^1.2", + "mobiledetect/mobiledetectlib": "^2.7.6", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0|^5.0|^6.0", + "satooshi/php-coveralls": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Jenssegers\\Agent\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jens Segers", + "homepage": "https://jenssegers.com" + } + ], + "description": "Desktop/mobile user agent parser with support for Laravel, based on Mobiledetect", + "homepage": "https://github.com/jenssegers/agent", + "keywords": [ + "Agent", + "browser", + "desktop", + "laravel", + "mobile", + "platform", + "user agent", + "useragent" + ], + "time": "2017-03-12T09:58:22+00:00" + }, { "name": "laravel/browser-kit-testing", "version": "v1.0.1", @@ -758,6 +865,58 @@ ], "time": "2017-04-16T12:23:45+00:00" }, + { + "name": "mobiledetect/mobiledetectlib", + "version": "2.8.25", + "source": { + "type": "git", + "url": "https://github.com/serbanghita/Mobile-Detect.git", + "reference": "f0896b5c7274d1450023b0b376240be902c3251c" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/serbanghita/Mobile-Detect/f0896b5c7274d1450023b0b376240be902c3251c.zip", + "reference": "f0896b5c7274d1450023b0b376240be902c3251c", + "shasum": "" + }, + "require": { + "php": ">=5.0.0" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "type": "library", + "autoload": { + "classmap": [ + "Mobile_Detect.php" + ], + "psr-0": { + "Detection": "namespaced/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Serban Ghita", + "email": "serbanghita@gmail.com", + "homepage": "http://mobiledetect.net", + "role": "Developer" + } + ], + "description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.", + "homepage": "https://github.com/serbanghita/Mobile-Detect", + "keywords": [ + "detect mobile devices", + "mobile", + "mobile detect", + "mobile detector", + "php mobile detect" + ], + "time": "2017-03-29T13:59:30+00:00" + }, { "name": "monolog/monolog", "version": "1.22.1", diff --git a/config/app.php b/config/app.php index d96951e..5700fb3 100644 --- a/config/app.php +++ b/config/app.php @@ -159,6 +159,7 @@ return [ Intervention\Image\ImageServiceProvider::class, Mews\Purifier\PurifierServiceProvider::class, + Jenssegers\Agent\AgentServiceProvider::class, ], /* @@ -206,6 +207,7 @@ return [ 'View' => Illuminate\Support\Facades\View::class, 'Image' => Intervention\Image\Facades\Image::class, 'Purifier' => Mews\Purifier\Facades\Purifier::class, + 'Agent' => Jenssegers\Agent\Facades\Agent::class, ],