Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Поправка. С Сервером кажется все понятно. Включил роут в исключения проверки CSRF токена - и запросы начали проходить. Значит вопросы к конфигурации Laravel. Итак, подскажите, как сконфигурировать lаrаvel, что бы CSRF проверка проходила не только на localhost, но и а боевом сервере?
Всем привет, получил такую головную боль.
На локальном компьютере под Linux laravel совместно с Apache отлично работают. Если конектится на localhost:8000 - все супер. Как только перехожу на рабочий сервер, сайт работает, но получаю ошибку TokenMismatchException in VerifyCsrfToken.php line 68, при попытке отправки данных через любую форму, включая логин(она в проекте родная).
Разумеется {{ csrf_token() }} стоит везде где нужно, да и формы у меня открываются и закрываются с помощью Form::open, Form::close. Если бы были ошибки размещения токена в коде - то и на локальном сервере бы не работало, но в локальном исполнении - все работает. Больше того - локальный и рабочий в данном случае один и тот же сервер. Но если коннектится на localhost:8000 - все работает. а если по внешнему IP - ситуация как описал - все работает до попытки отправки данных из любой формы на сайте.
В запросе токен присутствует. Вот скриншот ошибки с данными из формы https://drive.google.com/file/d/1lj7uTg … sp=sharing
Вот даже не пойму куда копать. Прошу помощи сообщества.
Система GNU/Linux Fedora 29, стандартный апач с включенным mod_rewrite.
Буду благодарен за ответ
Всем доброго времени
В Laravel новичек.
Версия Laravel 5.6, система W10x64 (Думаю это все не важно в данном случае)
Имею код в шаблоне blade
<script>
var n=1;
document.getElementById('divhidden').innerHTML='<input type=hidden id=\"id'+n+'\" name=\"index_sps\" value=\"0\" >';
function plus(){
document.getElementById('divf'+n).innerHTML+='<br>'+n+' СПС: <input type=text id=\"id'+n+'\" name=\"sps_call_'+n+'\" size=\"10\"> баллов: <input type=text id=\"id'+n+'\" name=\"sps_score_'+n+'\" size=\"3\"> Пароль: <input type=text id=\\"id\'+n+\'\\" name=\\"password_\'+n+\'\\" size=\\"3\\"><input type=\"button\" id=\"id'+n+'\" onclick=del(id'+n+'); value=\"-\"> <div id=divf'+(n+1)+'></div>';
document.getElementById('divhidden').innerHTML='<input type=hidden id=\"id'+n+'\" name=\"index_sps\" value=\"'+n+'\">';
n++;
}
function del(id){
document.getElementById(id).remove();
}
</script>
<table border="0">
<form action="newprogramm" method="post">
{{ csrf_field() }}
<tr><td> Название программы:</td> <td> <input type="text" name="Name"></td></tr>
<tr><td> Описание: </td> <td> {{Form::textarea('Description', 'Описание программы будет отображаться на главной странице' )}}</td></tr>
<tr><td> Повторы:<br>0 - повторы запрещены<br>1 - разрешены на разных диапазонах<br>2 - разрешены везде и всегда<br><br><br></td> <td> {{Form::text('Repeat')}}</td></tr>
<tr><td> Необходимо набрать: </td> <td> {{Form::text('ScoreFinal', 'Необходимо набрать очков' )}}</td></tr>
<tr><td> Очки по умолчанию: </td> <td> {{Form::text('ScoreDefault', 'Очки по умолчанию' )}}</td></tr>
<tr><td> Путь к картинке: </td> <td> {{Form::text('Image', 'путь к картинке')}} </td></tr>
</table>
<p> <font size="2"><i>Внимание! Добавляйте СПС с указанием пароля. <br>В последствии предавайте ответственным СПС операторам данный пароль<br>
Они будут заливать ADIF отчеты используя для входа свой СПС как логин и пароль который Вы укажите в этой форме</i></font></p>
<div id=divf1>
</div>
<div id=divhidden>
</div>
<input type=button onClick=plus(); value='+ СПС'><br><br>
<input type="submit" value="Создать">
</form>
В нем динамически в форме добавляется по нажатию на кнопку три поля.
Элемент divhidden и соответствующее скрытое поле с именем index_sps = является счетчиком добавленных блоков полей.
Это поле служит в скрипте как указатель сколько полей нужно обработать. Но не суть в данном случает.
Код отрабатывает, если в браузере посмотреть код - то видно, что поля добавляются и они находятся в пределах формы
ссылка на скриншот формы в браузере - http://joxi.ru/xAe6qKMcp7lnpr
но при передаче формы этих добавленных полей в request'е нет.
ссылка на скриншот вывода dd(request()) - http://joxi.ru/Dr8j5BMc4jy692
Вопрос собственно как мне передать эти поля для обработки в скрипт?
Добавлю, что в классическом PHP все работает. Просто изучаю сейчас Laravel на живом проектике и вот столкнулся с такой проблемой.
Буду благодарен за подсказку
Страницы 1