Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use App\User;
- use Illuminate\Http\Request;
- class LoginController extends Controller
- {
- function logout(Request $request){
- $request->session ()->flush ();
- return redirect("/admin");
- }
- function index(Request $request){
- if(!$request->session()->get("user")["logged"]){
- return view("admin.login");
- }
- return redirect("/admin/home");
- }
- function login(Request $request){
- $inactive = 60*20;
- ini_set('session.gc_maxlifetime', $inactive); // set the session max lifetime to 2 hours
- session_start();
- if(!isset($_SESSION["login_attempts"])){
- $_SESSION["login_attempts"]=0;
- }
- if($_SESSION["login_attempts"]>=10){
- return json_encode(array("ok"=>0,"message"=>"You are banned now for 20 minutes!"));
- }
- $username=$request->input("username");
- $password=$request->input("password");
- $user=User::where("username",$username)->orWhere("email",$username)->first();
- if(count(User::where("username",$username)->orWhere("email",$username)->get())!=1){
- return json_encode(array("ok"=>0,"No such username or email!"));
- }
- if(password_verify ($password,$user->password)){
- $user["logged"]=true;
- $request->session ()->put("user",$user);
- return redirect("/admin");
- return json_encode(array("ok"=>1));
- }else{
- $_SESSION["login_attempts"]++;
- return json_encode(array("ok"=>0,"message"=>"Wrong username or password! Remaining login attempts: ".(10-$_SESSION["login_attempts"])));
- }
- }
- function home(Request $request){
- if(!$request->session()->get("user")["logged"]){
- return redirect("/login");
- }
- return view("admin.index",array("user"=>$request->session()->get("user")));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement