/**
  * @param EventManager           $manager
  * @param EntityManagerInterface $em
  * @param Reader                 $reader
  */
 public function addSubscribers(EventManager $manager, EntityManagerInterface $em, Reader $reader)
 {
     $subscriber = new IpTraceableListener();
     $subscriber->setAnnotationReader($reader);
     $subscriber->setIpValue($this->request->getClientIp());
     $manager->addEventSubscriber($subscriber);
 }
Esempio n. 2
0
 /**
  * @return string
  */
 public function get()
 {
     $ip = $this->request->getClientIp();
     if ($ip == '::1') {
         $ip = '127.0.0.1';
     }
     return $ip;
 }
Esempio n. 3
0
 /**
  * Forward method calls to provider
  *
  * @param string $name
  * @param array $arguments
  *
  * @return mixed
  */
 public function __call($name, $arguments)
 {
     $ip = $this->request->getClientIp();
     if (!empty($arguments)) {
         $ip = array_shift($arguments);
     }
     if ($this->localhostProvider->isLocalhost($ip)) {
         return $this->localhostProvider->{$name}($ip);
     }
     return $this->provider->{$name}($ip);
 }
Esempio n. 4
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $rules = array('title' => 'required|max:255|min:5|string', 'body' => 'required|max:2000|min:5|string', 'browser' => 'min:1|max:20');
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         return Redirect::to('create')->withErrors($validator);
     }
     $data = array('title' => Purifier::clean($request->input('title')), 'body' => Purifier::clean($request->input('body')), 'image' => Purifier::clean($request->input('image')), 'ip' => $request->getClientIp(), 'browser' => Purifier::clean($request->input('browser')), 'country' => UserClients::getCountry($request->getClientIp()), 'date' => time());
     Posts::create($data);
     return Redirect::to('/');
 }
Esempio n. 5
0
 public function ensureUser($forceSession = false)
 {
     if (!Session::has(config('laravel-ab.cache_key')) || $forceSession) {
         $uid = md5(uniqid() . $this->request->getClientIp());
         $laravel_ab_id = $this->request->cookie(config('laravel-ab.cache_key'), $uid);
         Session::set(config('laravel-ab.cache_key'), $uid);
     }
     if (empty(self::$session)) {
         self::$session = Instance::firstOrCreate(['instance' => Session::get(config('laravel-ab.cache_key')), 'identifier' => $this->request->getClientIp(), 'metadata' => function_exists('laravel_ab_meta') ? call_user_func('laravel_ab_meta') : null]);
     }
 }
Esempio n. 6
0
 public function saveComment(Request $request)
 {
     $commentData = array('name' => $request->input('name'), 'email' => $request->input('email'), 'comment' => $request->input('comment'), 'slug' => ltrim($request->input('slug'), '/'), 'ip' => $request->getClientIp());
     $commentData['token'] = \Hash::make($commentData['comment'] . $commentData['email'] . $commentData['slug']);
     $comment = Comment::create($commentData);
     $commentData['created_at'] = $comment->created_at->toDateTimeString();
     $commentData['id'] = $comment->id;
     \Mail::send('new-comment', $commentData, function ($message) {
         $message->from('*****@*****.**', 'Squabble Comments');
         $message->to('*****@*****.**', 'Savas Labs')->subject('New comment posted to site');
     });
     \Log::info(sprintf('Saved new comment with ID %d from IP %s', $comment->id, $request->getClientIp()));
     return CommentHelpers::formatData(array($commentData));
 }
Esempio n. 7
0
 public function getModel()
 {
     if (\Auth::check()) {
         return \Auth::user();
     }
     if ($this->request->hasCookie('email_user')) {
         $user = Email::where('email', $this->request->cookie('email_user'));
     }
     if ($this->request->hasCookie('guest_user')) {
         $tracker = $this->request->cookie('guest_user');
     }
     $tracker = $this->request->getClientIp();
     $user = Guest::firstOrCreate(['identifier' => $tracker]);
     return $user;
 }
Esempio n. 8
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($request->getClientIp() != self::IP_BOT) {
         return response()->json('Invalid Request');
     }
     return $next($request);
 }
Esempio n. 9
0
 /**
  * 用户通过邮箱和密码进行登录操作
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function login(Request $request)
 {
     //获取当前访问的全部的地址
     $request_url = str_replace("http://" . Config::get('app.url'), "", $request->url());
     //验证参数
     $validator = Validator::make($request->all(), ['email' => 'required|email', 'password' => 'required']);
     //验证参数完整性
     if ($validator->fails()) {
         // var_dump($validator);
         $error = $validator->errors()->all();
         //写入日志
         Log::error(['error' => $error, 'request' => $request->all(), 'header' => $request->headers, 'client_ip' => $request->getClientIp()]);
         //返回错误信息
         return Error::returnError($request_url, 1001);
     }
     $email = $request->get('email');
     $password = $request->get('password');
     //检查有没有
     $user_model = User::checkUserLogin($email, $password);
     if ($user_model == false) {
         return Error::returnError($request_url, 2001);
     }
     //更新token
     $token = User::updateToken($user_model);
     //返回对应的结果
     $json_arr = ['request' => $request_url, 'ret' => User::getUserInfo($user_model->id), 'token' => $token];
     return Common::returnResult($json_arr);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $authenticated = false;
     try {
         $user = $this->auth->user();
         if (!$user) {
             // redirect
             return redirect('/');
         }
         $authenticated = $user->hasPermission('platformAdmin');
     } catch (Exception $e) {
         // something else went wrong
         EventLog::logError('error.platformAuth.unexpected', $e);
         $error_message = 'An unexpected error occurred';
         $error_code = 500;
     }
     if (!$authenticated) {
         $error_code = isset($error_code) ? $error_code : 403;
         $error_message = isset($error_message) ? $error_message : "You do not have privileges to perform this operation";
         EventLog::logError('error.platformAuth.unauthenticated', ['remoteIp' => $request->getClientIp()]);
         return new Response($error_message, $error_code);
         $response = new JsonResponse(['message' => $error_message, 'errors' => [$error_message]], $error_code);
         return $response;
     }
     return $next($request);
 }
Esempio n. 11
0
 /**
  * Validate Captcha
  * @param $request
  * @return bool
  */
 private function validateCaptcha(Request $request)
 {
     // validate google captcha
     $recaptcha = new ReCaptcha(env('RECAPTCHA_PRIVATE_KEY'));
     $response = $recaptcha->verify(input('g-recaptcha-response'), $request->getClientIp());
     return $response;
 }
Esempio n. 12
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (!starts_with($request->getClientIp(), '192.168.0')) {
         $this->analysis();
     }
     return $next($request);
 }
Esempio n. 13
0
 /**
  * post的方式添加一条记录
  *
  * @return \Illuminate\Http\Response
  */
 public function create(Request $request)
 {
     $request_url = str_replace("http://" . Config::get('app.url'), "", $request->url());
     //验证参数
     $validator = Validator::make($request->all(), ['name' => 'required|max:255']);
     //验证参数完整性
     if ($validator->fails()) {
         $error = $validator->errors()->all();
         //写入日志
         Log::error(['error' => $error, 'request' => $request->all(), 'header' => $request->headers, 'client_ip' => $request->getClientIp()]);
         //返回错误信息
         return Error::returnError($request_url, 1001);
     }
     //验证token
     //        $user_id=Common::validateToken($request->get('token'));
     //
     //        if($user_id == false){
     //            return Error::returnError($request_url,2002);
     //        }
     $name = $request->get('name');
     //写入操作
     $add = Task::addTask($name);
     $info = Task::getTaskInfo($add);
     //返回对应的结果
     $json_arr = ['request' => $request_url, 'ret' => $info];
     return Common::returnResult($json_arr);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  *
  * @throws \Symfony\Component\HttpKernel\Exception\HttpException
  */
 public function handle(Request $request, Closure $next)
 {
     if ($this->app->isDownForMaintenance() && !in_array($request->getClientIp(), config('maintenance.ips', [])) && (config('maintenance.bypass_with_cookie', false) === false || config('maintenance.cookie_name', '') === '' || !$request->hasCookie(config('maintenance.cookie_name')))) {
         throw new HttpException(503);
     }
     return $next($request);
 }
 public function login(Request $request)
 {
     //        dd(\Crypt::encrypt('*****@*****.**'));
     try {
         $email = \Crypt::decrypt($request->get('token'));
     } catch (\Exception $e) {
         return abort('403', 'Forbidden');
     }
     $user = User::whereEmail($email)->first();
     if (!$user) {
         return abort('403', 'Forbidden');
     }
     if (!$user->account) {
         $b2bCompany = \DB::connection('mysql-b2b')->table('companies')->where('user_id', '=', $user->id)->first();
         //            $b2bCompany = false;
         $accountName = $b2bCompany ? $b2bCompany->company_name : $user->email;
         $account = new Account();
         $account->ip = $request->getClientIp();
         $account->name = $accountName;
         $account->account_key = str_random(RANDOM_KEY_LENGTH);
         $account->save();
         $user->account_id = $account->id;
         $user->registered = true;
         $user->save();
         $exists = \DB::connection('mysql')->table('users')->whereId($user->id)->count();
         if (!$exists) {
             \DB::connection('mysql')->table('users')->insert(['id' => $user->id, 'account_id' => $user->account_id, 'created_at' => $user->created_at, 'updated_at' => $user->updated_at, 'deleted_at' => $user->deleted_at, 'first_name' => $user->first_name, 'last_name' => $user->last_name, 'phone' => $user->phone, 'username' => $user->username, 'email' => $user->email, 'password' => $user->password, 'confirmation_code' => $user->confirmation_code, 'registered' => $user->registered, 'confirmed' => $user->confirmed, 'notify_sent' => $user->notify_sent, 'notify_viewed' => $user->notify_viewed, 'notify_paid' => $user->notify_paid, 'public_id' => $user->public_id, 'force_pdfjs' => false, 'remember_token' => $user->remember_token, 'news_feed_id' => $user->news_feed_id, 'notify_approved' => $user->notify_approved, 'failed_logins' => $user->failed_logins, 'dark_mode' => $user->dark_mode, 'referral_code' => $user->referral_code]);
         }
     }
     \Auth::loginUsingId($user->id);
     return redirect('/');
 }
Esempio n. 16
0
 public function anyCheck(Request $request)
 {
     // 获取表单数据
     $data = ["name" => Input::get("name"), "password" => Input::get("password")];
     // 表单验证
     $v = Validator::make($request->all(), ['name' => 'required', 'password' => 'required']);
     // 如果失败返回登录页面
     if ($v->fails()) {
         return redirect("")->with("message", "用户名或密码不能为空!");
     } else {
         if (Auth::attempt($data)) {
             // 匹配成功进入后台
             $superuser = SuperUser::find(Auth::user()->id);
             $superuser->times = $superuser->times + 1;
             $superuser->last_ip = $request->getClientIp();
             $superuser->save();
             return Redirect::to("super");
         } else {
             // 失败返回登录页而且提示信息。
             $message = "用户名或密码不正确,请重新登录!";
             $data = ["message" => $message];
             return redirect("/")->with($data);
         }
     }
 }
Esempio n. 17
0
 public function postAdd(Request $request, Agent $agent)
 {
     $data = $request->all();
     $validation = Validator::make($data, Poster::getValidationRules());
     if ($validation->fails()) {
         return view('message', ['OKs' => [], 'errors' => $validation->errors()->all()]);
     }
     $original_image_dir = 'images/original/';
     $small_image_dir = 'images/small/';
     $original_image_name = $original_image_dir . "no_image.jpg";
     $small_image_name = $small_image_dir . "no_image_sml.jpg";
     if ($request->hasFile('image')) {
         $time = time();
         $original_image_name = $original_image_dir . $time . '.jpg';
         $small_image_name = $small_image_dir . $time . '.jpg';
         Image::make(Input::file('image'))->save($original_image_name)->resize(200, null, function ($constraint) {
             $constraint->aspectRatio();
         })->save($small_image_name);
     } else {
     }
     $data['image'] = $original_image_name;
     $data['image_sml'] = $small_image_name;
     $data['author_ip'] = $request->getClientIp();
     $data['author_browser'] = $agent->browser();
     $data['author_country'] = "Ukraine";
     Poster::create($data);
     return view('message', array('OKs' => ['Poster created'], 'errors' => ['']));
 }
Esempio n. 18
0
 function __construct(Request $request)
 {
     $visitorModel = new VisitorModel();
     $visitorModel->ip = $request->getClientIp();
     $visitorModel->url = $request->url();
     $visitorModel->save();
 }
Esempio n. 19
0
 /**
  * Gets the view hash
  *
  * @return string
  */
 protected function getCurrentHash()
 {
     if ($this->currentHash === null) {
         $this->currentHash = md5($this->request->fullUrl() . $this->request->method() . $this->request->getClientIp());
     }
     return $this->currentHash;
 }
Esempio n. 20
0
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(Request $data)
 {
     $ip = $data->getClientIp();
     Clockwork::info('IP' . $ip);
     $data = $data->all();
     return User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'ip_address' => $ip]);
 }
Esempio n. 21
0
File: Ip.php Progetto: is-sam/CPAPI
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($request->getClientIp() == '127.0.0.1') {
         return $next($request);
     }
     return response('Unautorised', 401);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($this->app->isDownForMaintenance() && !in_array($request->getClientIp(), ['127.0.0.1'])) {
         throw new HttpException(503);
     }
     return $next($request);
 }
Esempio n. 23
0
 /**
  * Log an API request based on the config setting
  *
  * @param \Illuminate\Http\Request $request
  * @param                          $action
  */
 public function log_activity(Request $request, $action)
 {
     if (config('api.config.log_requests')) {
         $token_id = ApiTokenModel::where('token', $request->header('X-Token'))->value('id');
         ApiTokenLog::create(['api_token_id' => $token_id, 'action' => $action, 'request_path' => $request->path(), 'src_ip' => $request->getClientIp()]);
     }
 }
Esempio n. 24
0
 /**
  * @param Client $redis
  * @param Repository $config
  * @param Queue $queue
  * @param Carbon $carbon
  * @param Request $request
  */
 public function __construct(Client $redis, Repository $config, Queue $queue, Carbon $carbon, Request $request)
 {
     $this->redis = $redis;
     $this->config = $config;
     $this->queue = $queue;
     $this->carbon = $carbon;
     $this->ip = $request->getClientIp();
 }
Esempio n. 25
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (!$request->secure() && env('APP_ENV') === 'production') {
         $request->setTrustedProxies([$request->getClientIp()]);
         return redirect()->secure($request->getRequestUri());
     }
     return $next($request);
 }
Esempio n. 26
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $request->setTrustedProxies([$request->getClientIp()]);
     if (!$request->secure()) {
         return redirect()->secure($request->getRequestUri());
     }
     return $next($request);
 }
Esempio n. 27
0
 /**
  * This middleware checks that the user accessing the backend of our site,
  * is doing so from an allowed IP address
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     // check the ip address
     if (in_array($request->getClientIp(), config('site.backend.allowedIPS'))) {
         return $next($request);
     }
     return new Response("Error code: 403 => You are not allowed to access this page from your ip address of {$request->getClientIp()}", 403);
 }
Esempio n. 28
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function inRange($request)
 {
     $ip = $request->getClientIp();
     if (ip2long($this->fromIp) <= ip2long($ip) && ip2long($ip) <= ip2long($this->toIp)) {
         return true;
     } else {
         return false;
     }
 }
Esempio n. 29
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $ip = $request->getClientIp();
     $count = Ban::where('ip', '=', $ip)->count();
     if ($count > 0) {
         return response('banned', 403, ['Content-Type' => 'text/plain']);
     }
     return $next($request);
 }
Esempio n. 30
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (File::exists(storage_path('app/maintenance'))) {
         $allowed = explode(',', env('MAINTENANCE_ALLOWED_IPS', ''));
         if (in_array($request->getClientIp(), $allowed) === false) {
             return response(view('errors/503'), 503);
         }
     }
     return $next($request);
 }