diff --git a/src/Controllers/AuthController.php b/src/Controllers/AuthController.php index 37714ea4..10f250ff 100755 --- a/src/Controllers/AuthController.php +++ b/src/Controllers/AuthController.php @@ -269,6 +269,10 @@ final class AuthController extends BaseController $user->locale = $_ENV['locale']; $random_group = Config::obtain('random_group'); + if (isset($_COOKIE['VisitorFrom'])) { + $user->from = $this->antiXss->xss_clean($_COOKIE['VisitorFrom']); + } + ///////注册试用 // $user->transfer_today = 0; // 今日使用流量 // $user->transfer_enable = Tools::toGB($content->bandwidth); diff --git a/src/Services/TomTool/VisitorCount.php b/src/Services/TomTool/VisitorCount.php index 8b7b71b5..d3b57f45 100755 --- a/src/Services/TomTool/VisitorCount.php +++ b/src/Services/TomTool/VisitorCount.php @@ -4,10 +4,6 @@ declare(strict_types=1); namespace App\Services\TomTool; -//use Psr\Http\Message\ResponseInterface; -//use Slim\Http\Response; -//use Slim\Http\ServerRequest; -//use Smarty\Exception as SmartyException; use App\Models\Visitor; final class VisitorCount @@ -16,17 +12,25 @@ final class VisitorCount public static function From() { - if (isset($_SERVER['HTTP_REFERER'])) { + // 如果以被设置,什么都不做 + // 如果未被设置,入库并保存cookie,注册用 + if (!isset($_COOKIE['VisitorFrom'])) { + + if (isset($_SERVER['HTTP_REFERER'])) { + + $sFrom = $_SERVER['HTTP_REFERER']; + + } else { + + $sFrom = "直接"; + + } $oVisitorFrom = new Visitor(); - $oVisitorFrom->from = $_SERVER['HTTP_REFERER']; + $oVisitorFrom->from = $sFrom; $oVisitorFrom->save(); - } else { - - $oVisitorFrom = new Visitor(); - $oVisitorFrom->from = "直接"; - $oVisitorFrom->save(); + setcookie('VisitorFrom', $sFrom, (time() + (86400 * 30)), "/"); }