Sfoglia il codice sorgente

Update RegisterController

Daniel Supernault 3 anni fa
parent
commit
e503a8da85

+ 17 - 0
app/Http/Controllers/Auth/RegisterController.php

@@ -44,6 +44,13 @@ class RegisterController extends Controller
 		$this->middleware('guest');
 	}
 
+	public function getRegisterToken()
+	{
+		return \Cache::remember('pf:register:rt', 900, function() {
+			return str_random(40);
+		});
+	}
+
 	/**
 	 * Get a validator for an incoming registration request.
 	 *
@@ -110,8 +117,18 @@ class RegisterController extends Controller
 			},
 		];
 
+		$rt = [
+			'required',
+			function ($attribute, $value, $fail) {
+				if($value !== $this->getRegisterToken()) {
+					return $fail('Something went wrong');
+				}
+			}
+		];
+
 		$rules = [
 			'agecheck' => 'required|accepted',
+			'rt' 	   => $rt,
 			'name'     => 'nullable|string|max:'.config('pixelfed.max_name_length'),
 			'username' => $usernameRules,
 			'email'    => $emailRules,

+ 1 - 1
resources/views/auth/register.blade.php

@@ -10,7 +10,7 @@
                 <div class="card-body">
                     <form method="POST" action="{{ route('register') }}" class="px-md-3">
                         @csrf
-
+                        <input type="hidden" name="rt" value="{{ (new \App\Http\Controllers\Auth\RegisterController())->getRegisterToken() }}">
                         <div class="form-group row">
                             <div class="col-md-12">
                                 <label class="small font-weight-bold text-lighter">Name</label>