• Как исправить потерю данных из сессии при одновременных HTTP запросах?

    @v__V__v
    Разработчик
    Все правильно думаете, самый простой и надежный путь - сменить хранилище корзины с сессии на БД.
    Тем более, что если покупатель отошел надолго, и сессия протухла, то не каждый станет набивать корзину заново, большинство закроет сайт и пойдет искать более приятных в общении конкурентов.
    Ответ написан
    Комментировать
  • Как создать платную лицензию для программы на C++?

    @v__V__v
    Разработчик
    Никаких похожих и нужных инструкций в инете и на гитхабе нет по одной простой причине - еще с четверть века назад выяснилось, что все это - бесполезная трата времени и денег, т.к. ломается все гораздо быстрее, чем разрабатывается и устанавливается защита. Если программа хорошая и нужная, ломают обычно в тот же день. Потому и перешли на разнообразные способы поощрения регулярной оплаты вместо проверок и блокировок. Вы и сами все это скоро так или иначе поймете)
    Ответ написан
    Комментировать
  • Почему приходит пустой request поля в Laravel?

    @v__V__v
    Разработчик
    Попробуйте сменить имя поля с content на какой-нибудь myGreatContent, возможно у вас конфликт имен, с Laravel'ом такое случается.
    Ответ написан
    Комментировать
  • Как убрать пустую страницу при печати из браузера?

    @v__V__v
    Разработчик
    Может быть кому-то будет полезно: тоже неполная страница в печать шла со второй пустой, помогла установка margin и padding для body в ноль.
    Ответ написан
    Комментировать
  • Безопасно ли хранить id пользователя из бд в сессии?

    @v__V__v
    Разработчик
    Если вы сами не вываливаете содержимое сессии в ответы сервера на пользовательские запросы, то хранение в ней чего угодно абсолютно безопасно - данные хранятся на стороне сервера и пользователям не видны. Так что смело сохраняйте в ней все, что вам нужно в ней сохранить, сессии для этого и придуманы.
    Ответ написан
    Комментировать
  • Cookie::get() не расшифровывает куки как исправить?

    @v__V__v
    Разработчик
    Если вы устанавливаете куки постановкой в очередь из посредника, то убедитесь, что ваш посредник находится в группе 'web' и идет после \App\Http\Middleware\EncryptCookies::class:
    protected $middlewareGroups = [
            'web' => [
                \App\Http\Middleware\EncryptCookies::class,
    
                \App\Http\Middleware\Your_Middleware_With_Cookies_Must_Be_Here_Or_Below::class,
    
                \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
                \Illuminate\Session\Middleware\StartSession::class,
                \Illuminate\View\Middleware\ShareErrorsFromSession::class,
                \App\Http\Middleware\VerifyCsrfToken::class,
                \App\Http\Middleware\CheckAuth::class,
                \Illuminate\Routing\Middleware\SubstituteBindings::class,
            ],
    Ответ написан
    Комментировать
  • Как раскодировать javascript?

    @v__V__v
    Разработчик
    Элементарно. Взять и посмотреть через тот же отладчик или console.log(), что отдает функция, потом уже думать дальше. На самом деле, обфускацией давно уже пользуются только школьники и идиоты, т.к. не стоит оно затраченного времени, все ломается гораздо быстрее, чем приходится уродоваться со скрытием кода.
    Ответ написан
    Комментировать
  • Почему то работает, то не работает событие input в форме?

    @v__V__v
    Разработчик
    Замените
    $('.submit').removeAttr('disabled');
    на
    $('.submit').attr('disabled', false)

    А вообще, если проверка капчи реализована на сервере по уму, то капча протухает в момент проверки, повторная отправка той же самой капчи даст ошибку.
    Ответ написан
  • Как получить данные getContentsом через контраллер в Laravel 6?

    @v__V__v
    Разработчик
    Судя по всему, сервер не отдает никакого html, а отвечает просто набором заголовков:
    HTTP/1.1 503 Service Temporarily Unavailable
    Status: 503 Service Temporarily Unavailable
    Retry-After: 300
    Ответ написан
    Комментировать
  • Как скрыть уведомления CSRF в Laravel?

    @v__V__v
    Разработчик
    Гм. А зачем вам ее скрывать, тем более, что вы аяксом контент получаете? Допишите обработку кодов ответа отличных от 200, для 419 сделайте запрос нового токена и получайте контент дальше. Либо выводите сообщение, что пользователь должен обновить страницу, если получить и подставить новый CSRF-токен для вас затруднительно.
    Ответ написан
    Комментировать
  • Как сделать из сводной таблицы связь one to one?

    @v__V__v
    Разработчик
    А можно поинтересоваться, зачем вам нужна сводная таблица project_user с полями project_id и user_id? Не проще ли будет в таблицу projects добавить поле project_owner?
    Ответ написан
    4 комментария
  • Как в html коде не писать один и тот же select?

    @v__V__v
    Разработчик
    Если вы пишете что-то на чистом php то воспользуйтесь include('myselect.html'); или require('myselect.html');, если используете какие-то фреймворки, то зависит от того, что вы используете, если чистый html - используйте SSI (Server-Side Includes): <!--#include file="myselect.html"--> .
    Ответ написан
    Комментировать
  • В форме не появляются ошибки валидации, что делать?

    @v__V__v
    Разработчик
    Эта проблема, к сожалению, все еще актуальна. Судя по всему, этот баг bootstrap'а надолго. Решается заменой .invalid-feedback на .text-danger. У меня лучше всего выглядит вот такой вариант (вспомогательные .mt- и т.п. убрал, у каждого они свои будут):
    <div class="text-danger">
      <small>Some error message</small>
    </div>
    Ответ написан
    Комментировать
  • Как исправить ошибку Warning: Undefined property: stdClass::$field?

    @v__V__v
    Разработчик
    Очевидно же, что где-то у вас $condition->field, а где-то - $condition->$field. В какой-то момент в $field оказывается имя поля, которого у объекта попросту нет, а вы его пытаетесь прочитать. В старых версиях php бы молча вернул null, а с 8.1 он ругается. Поищите у себя в коде '->$field'.
    Ответ написан
    Комментировать
  • Как лучше\проще реализовать работу с серийными номерами\лицензиями чтобы не особо пиратили?

    @v__V__v
    Разработчик
    Самый лучший способ - сделать так, чтобы никому и в голову не пришло пиратить ваш софт. Если это кому-то станет нужно, то спиратят даже с USB-брелоком. Отсюда у вас два выхода: цена должна быть [относительно] копеечная либо нулевая.
    Ответ написан
    Комментировать
  • Как переписать вот этот кусок кода под php?

    @v__V__v
    Разработчик
    Ошибка с кодом 400 - это неверный запрос. Сравните для начала, что именно приходит на сервер, когда запрос идет от js и от php. Если вы не можете посмотреть непосредственно на используемом сервере, измените queryUrl на любой полностью доступный вам сервер и посмотрите там. Возможно целевому серверу не нравится, что вы в json_encode закидываете массив, а не объект, а может то, что в CURLOPT_POSTFIELDS у вас безымянная строка неправильный структуры (правильно - 'postvar1=value1&postvar2=value2&postvar3=value3&postvar4=value4&...') вместо вызова http_build_query() с массивом в параметре.
    Ответ написан
    Комментировать
  • На странице с авторизацией пользователей выводит принт $user['BNB'] а на странице где должны отображаться эти данные-- нет?

    @v__V__v
    Разработчик
    session_start();
       $link = mysqli_connect('localhost', 'root', '12345678', 'register-bd');
        $query = 'SELECT FROM users WHERE BNB="'.$BNB.'",BUSD="'.$BUSD.'", TRX="'.$TRX.'", USDT="'.$USDT.'"';
        $result = mysqli_query($link,$query); //ответ базы запишем в переменную $result
        $user = mysqli_fetch_assoc($result);

    Звездочку после SELECT поставьте.
    $query = "SELECT * FROM `users` WHERE `BNB`='$BNB', `BUSD`='$BUSD',  `TRX`='$TRX',  `USDT`='$USDT'";
    Ответ написан
    Комментировать
  • Почему не получается вывести модальное окно при успешной отправке формы методом AJAX?

    @v__V__v
    Разработчик
    Посмотрите в консоли браузера, про что у вас ругань идет. Наверняка у вас что-то undefined или is not a function.
    Ответ написан
    Комментировать
  • Как сделать запрет неавторизованным пользователям заходить на страницу?

    @v__V__v
    Разработчик
    1. Чтобы проверить, авторизован ли пользователь, вам нужно проверять наличие $_COOKIE['user'] в тех скриптах, которые отдают закрытые страницы. Если его нет, то отдаете либо редирект куда-нибудь, либо страницу 403.
    2. В logincheck.php условие if(count($user) == 0) никогда не сработает, т.к. если пользователь не найден, то $mysql->query() вернет false, а вы получите ошибку "trying to get property of non-object" при вызове $result->fetch_assoc(). Чтобы этого не происходило, нужно использовать if($result) для проверки наличия такого пользователя.
    3. Условие if(count($user) == 1) сработает, внезапно, тогда, когда у вас пользователь найден. В результате вы его ни за что пошлете в пень.

    Правильно должно быть примерно вот так:
    if($result){
      // пользователь с таким логином и паролем есть, поехали
      $user = $result->fetch_assoc(); // Конвертируем в массив
      setcookie('user', $user['name'], time() + 3600, "/");
      $mysql->close();
      header('Location: news.php');
    }else{
      // нет такого пользователя
      exit("Логин или пароль введены неверно");
    }


    ЗЫ
    Хранить пароль в чистом виде - очень плохая идея, необходимо его хешировать, причем с солью.
    Ответ написан
    Комментировать
  • Как хранить информацию в БД о поставщиках когда они могут являться разынми сущностями?

    @v__V__v
    Разработчик
    Почитайте про полиморфные связи.
    Ответ написан
    Комментировать