ronibestplay

Рейтинг
53
Регистрация
06.02.2022
LEOnidUKG #:
не надо мучать его, он для другого, а вам лучше использовать:  Visual Studio Code - Code Editing. Redefined
попробую спасибо
Оживиться нет не знаю. Скажите будьте добры для чего используется такой навык, пару примеров примитивных. Ну или лучше сразу с фишками. Или подозреваю это для офисной работы?
Михаил #:

Чтобы было понятно – на конкретном примере. Нужно защитить замок от визита нежелательного гостя.

Вариант 1: гость подходит к воротам, они открываются, из замка выходит охранник, спрашивает у гостя «Кто такой? Цель визита?», получает от того кистенем по башке, гость отбирает у побеждённого охранника ключи, отпирает ворота и заходит в замок. Так работают проверки на фронтэнде (HTML-5,JavaScript, JQuery и т. п.)

Вариант 2: гость подходит к воротам, через стену замка перелетает записка с вопросами «Кто такой? Цель визита?». Гостю нужно написать свои ответы на этой записке и перебросить её обратно через стену обитателям замка. Если ответ окажется удовлетворительным – ворота откроются и гостя впустят. Если нет – свободен.  Так работают проверки на бэкэнде (PHP, ASP, Python и т. д.)

Работает всё это, как правило, в комби-варианте. Первый вариант – выполняется на стороне пользователя, в его браузере, это для рассеянных и забывчивых, на случай обычных повседневных ошибок. Второй вариант – выполняется на стороне сервера, это надёжная страховка от злоумышленников, ботов и пр.

Забавно конечно придумали. Но если вы именно для меня старались, то зря. Эту базу я понял когда начал пытать gpt, чтобы он добавил какую либо защиту в файле mail.php. Я конечно благодарен за советы, но думаю куски кода мне бы пригодились больше чем сказка  17 - ого века)

Mik Foxi #:

да. 

Спасибо. Не совсем получилось настроить сразу, но суть мне понятна. (пока отправка с таким началом не идет) Там намешано, проще буду разбираться наверное сам. Использую такую штуку, похоже они конфликтуют.
    <script src="https://cdn.jsdelivr.net/npm/jquery.maskedinput@1.4.1/src/jquery.maskedinput.min.js" type="text/javascript"></script>
<script>
document.addEventListener("EasyNetShopModalOpened", function(event) {
                ens_jQuery(function() {
                        ens_jQuery('input[name="phone"]').mask('+7(999)999-99-99');
                });
        }, false);
</script>

Mik Foxi #:

эта "проверка" это для обычных браузеров, с js. бот просто взял код формы, ему без разницы ваш js. 

тут еще должна быть регулярка которая проверит точно ли там номер, а не чтото постороннее.

Воспользуюсь чудом техники, вы такой имели ввиду подход
if ($_SERVER["REQUEST_METHOD"] == "POST") {

    // Проверка на заполнение поля телефона
    if (empty($_POST['wgphone'])) {
        http_response_code(400);
        echo "Введите номер телефона.";
        exit;
    }

    // Регулярное выражение для проверки формата номера телефона
    $phone = $_POST['wgphone'];
    $phonePattern = "/^\+?[0-9]{10,15}$/";  // Пример: допускаются номера с 10 до 15 цифр, с "+" в начале

    if (!preg_match($phonePattern, $phone)) {
        http_response_code(400);
        echo "Введите корректный номер телефона.";
        exit;
    }

    // Остальной код обработки
}

Mik Foxi #:

так там должна быть проверка, именно там она настоящая. в форме проверка это защита "от дурака", чтоб юзеру понятнее было что вводить. но если бот без js то никакой валидации не происходит на форме. А дальше там и XSS могут быть. 

не совсем пойму о чем речь. Пока на сайте не введешь телефон никакой отправки нет. Не будем считать ботов директа какими то всемогущими ок
ZEEW #:
Для начала сделайте хотя бы проверку при прямом обращении к файлу if $_SERVER['REQUEST_METHOD'] === 'POST'

Не особо смогу вам как мастер php отвечать, очень поверхностно.

Возможно это имели ввиду

if ($_SERVER["REQUEST_METHOD"] == "POST") {

    // Проверка на заполнение поля телефона
    if (empty($_POST['wgphone'])) {
        http_response_code(400);
        echo "Введите номер телефона.";
        exit;
    }
Mik Foxi #:

у вас в php скрипте нету проверок. 

нет там отправка только. Но если его в url браузера вбить он не будет отправлять.
Sly32 #:

Можно и нужно. Например запретить пост-запрос если капча не пройдена, отправлять верификационный токен... масса способов есть.

А если сделано так. У меня относительно вручную есть еще одна форма отправки. Там скриптом генерируется 3-4 числа и при вводе она отрабатывает. Другими словами без гугл капчи. К слову там в url добавляется #sucsess когда капча пройдена. По моему надо этот метод до ума довести. Конкуренты по пол ляма в месяц сливают в сомнительной теме. Я думаю яндекс их там и в хвост и вгриву. Но клиенты надо признать есть...Вобщем боты серьезная проблема
Sly32 #:

Значит твоя валидация просто не работает. То есть маска может и срабатывать на фронте, но на бэкенд может отправиться что угодно. То есть бот собирает пост-запрос и шлет его, минуя валидацию твою. 

Вот интересненько. Потому что все в голос орут настраивайте форму так, чтобы боты капчу вводили и прочее. По факту если отправляется пост запрос, сделать уже ничего нельзя. Хотя это скорее вопрос чем утверждение.
Всего: 315