BACKPACK_LOCALES=fr
TIMEZONE=Europe/Paris
POWERED_BY_LINK=https://www.cubedesigners.com/
+HONEYPOT_NAME=honeypot_for_bots
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()])->setStatusCode(422);
} else {
- $ignore = ['email_confirmation', 'password_confirmation', 'accept', '_token'];
+ $ignore = ['email_confirmation', 'password_confirmation', 'accept', '_token', 'valid_from'];
$client = new Client();
foreach ($validator->valid() as $k => $v) {
- if (in_array($k, $ignore)) {
+ if (in_array($k, $ignore) || strstr($k,'honeypot_for_bots_')) {
continue;
}
if ($k === 'password') {
use Cubist\Backpack\Http\Controllers\Base\XSendFileController;
use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\Blade;
-class LandingController extends Controller
+class LandingController extends FluidbookController
{
use ForgotPassword;
if (str_ends_with($path, '.html')) {
$html = file_get_contents($relayPath);
$html = str_replace('</head>', '<meta name="csrf-token" content="' . csrf_token() . '"/>' . self::matomoTag() . '</head>', $html);
+ $html = str_replace('<form id="Bastide_register_form" class="" data-content="register" action="/fluidbook/signin">', '<form id="Bastide_register_form" class="" data-content="register" action="/fluidbook/signin"><input type="hidden" name="_token" value="'.csrf_token().'">'.self::honeypot(), $html);
$user = Auth::guard('client')->user();
if ($user) {
$html = str_replace('Prénom Nom', $user->firstname . ' ' . $user->name, $html);
return XSendFileController::sendfile($relayPath);
}
+ public static function honeypot() {
+ return Blade::render('<x-honeypot />');
+ }
+
public static function matomoTag()
{
$guard = Auth::guard('client');
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
+ \Spatie\Honeypot\ProtectAgainstSpam::class,
];
/**
</div>
<div id="register_form_container" style="display:none;">
<form id="Bastide_register_form" class="" data-content="register" action="/fluidbook/signin">
- <x-honeypot />
<div class="form-group">
<div class="form-header">
établissement hospitalier
register: function(d) {
var $this = this
$.ajax({
- url: '/fluidbook/signin',
+ url: '/landing/signin',
type: 'POST',
data: d,
success: function(data) {
Route::match(['get'], '/fluidbook/auth', \App\Http\Controllers\FluidbookController::class . '@auth');
Route::match(['post'], '/fluidbook/order', \App\Http\Controllers\FluidbookController::class . '@order')->withoutMiddleware([VerifyCsrfToken::class]);
-Route::match(['post'], '/landing/signin', \App\Http\Controllers\LandingController::class . '@signin')->middleware(ProtectAgainstSpam::class);
+Route::match(['post'], '/landing/signin', \App\Http\Controllers\LandingController::class . '@signin')->middleware(ProtectAgainstSpam::class);;
Route::match(['post'], '/landing/login', \App\Http\Controllers\LandingController::class . '@login');
Route::match(['post','get'], '/landing/forgotpassword', \App\Http\Controllers\LandingController::class . '@forgotPassword');
Route::match(['get'], '/landing/logout', \App\Http\Controllers\LandingController::class . '@logout');