|
1 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 62
|
||||||
Проблемы с куками04.02.2020, 15:57. Показов 2551. Ответов 25
Метки нет (Все метки)
Мне нужно, чтобы пользователь мог отправлять форму только 2 раза. Но это не работает. Почему? Как исправить?
0
|
||||||
| 04.02.2020, 15:57 | |
|
Ответы с готовыми решениями:
25
Непонятки с Куками Работа с куками |
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||||||||||||||||
| 04.02.2020, 16:17 | ||||||||||||||||
|
Steisi1982, куки работают на странице, пока ничего не выводится в браузер. вместо кук лучше используйте $_SESSION. в Вашем случае советовал бы так (код вставьте вместо 1-3 строк Вашего кода):
имеет смысл в таком случае при $_SESSION['count'] > 2 вообще не показывать форму отправки данных, а вместо формы показывать сообщение
0
|
||||||||||||||||
|
1 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 62
|
|
| 04.02.2020, 16:38 [ТС] | |
|
Мне нужно чтобы в куках учитывалось только число успешно отправленных форм. Мне кажется Ваш код работает несколько иначе. Или я ошибаюсь? Прошу прощения за глупый вопрос. Я только учусь
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
| 04.02.2020, 16:44 | |
|
если Вы заменили строки 80-87 теми, какие там написаны, то $_SESSION['count'] увеличивается на 1 с каждой успешно отправленной формой, значит делает то, что нужно. перенес проверку этого счетчика до обработки $_POST, чтобы его впустую не обрабатывать, если форма была отправлена более 2 раз - все равно данные не отправятся.
0
|
|
|
1 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 62
|
||||||
| 04.02.2020, 16:57 [ТС] | ||||||
|
Ясно. Спасибо огромное. Попробую
Добавлено через 11 минут Не получается. Можно отправить форму и 3, и 4 раза. Может я что-то не туда вставила?
0
|
||||||
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||||||
| 04.02.2020, 17:37 | ||||||
|
попробуйте поставить самые первые строчки (в последнем скрипте):
0
|
||||||
|
Невнимательный
|
||||||
| 04.02.2020, 17:45 | ||||||
Вариант с сессиями по умолчанию убивает сессию после 24-х минут в течении которых не вызывалось session_start() для текущей сессии Не по теме: если не определите свои значения session.gc_maxlifetime и session.save_path
0
|
||||||
|
1 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 62
|
|
| 04.02.2020, 17:58 [ТС] | |
|
После двух успешных отправок форм выполняется перенаправление на пустой файл send.php
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|||||||||||||||||
| 04.02.2020, 19:16 | |||||||||||||||||
|
Steisi1982, я был неправ. в Вашем случае нужны куки, потому что их можно хранить дольше, а сессии - они только до 24 минут после закрытия сайта. возвращайтесь к своему скрипту с куками. и там надо так поправить для кук:
Добавлено через 19 минут и еще все строки, начиная с 93 (где } else {), перепишите так:
0
|
|||||||||||||||||
|
1 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 62
|
||||||
| 04.02.2020, 21:49 [ТС] | ||||||
|
По-моему я что-то напутала. Код должен заканчиваться так?
0
|
||||||
|
Невнимательный
|
|||||||||||||||||||||||||
| 04.02.2020, 23:50 | |||||||||||||||||||||||||
Сообщение было отмечено Steisi1982 как решение
Решение
я бы наверное как-то так раскидал, если нигде не ошибся ... не проверял
![]() или постарше школьники тестируют curl )) и без включённых куки могут закидать письмами ) в спам-лист могут записать Нет проверки на то что файл загружен // при превышении размера например размер будет 0 и ошибка 1 Добавлено через 21 минуту отрывок из прошлой темы )
например если данные превышают post_max_size
0
|
|||||||||||||||||||||||||
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
| 05.02.2020, 15:50 | |
|
Steisi1982, а если все файлы у Вас html, один только этот php, то как передать информацию об отправке формы в loading.html? можно показать весь его код?
1
|
|
|
1 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 62
|
|
| 05.02.2020, 23:10 [ТС] | |
|
Я не передаю информацию об отправке формы в loading.php. Просто эта страница открывается только после успешного заполнения формы. И на этой странице текст о том, что заявка успешно принята. Все
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
| 06.02.2020, 16:13 | |
|
неправильно вопрос сформулировал. имел в виду следующее - как передать в файл с формой, которой отправляем данные, сообщения об ошибках. если мы их выведем в файле send.php, то может сбиться оформление в файле формы. короче, как в нужное место файла с формой передать сообщение, например, о том,что пользователь может отправить не более 2 пакетов данных с этой формы. код файла формы для этого хотелось бы узнать
1
|
|
|
1 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 62
|
|
| 07.02.2020, 02:24 [ТС] | |
|
"Но если подумать... может детишки пользуются одним браузером на весь класс ". Что-то нам эта мысль в голову не приходила. Решили обойтись без куки
0
|
|
|
Невнимательный
|
||
| 07.02.2020, 04:42 | ||
|
Не силён в javascript... но вроде должна быть возможность установить куку непосредственно перед отправкой формы и при получении данных проверить записанное туда время например или ещё какое значение. Как бы тоже хоть какая-то вероятность защиты от отправки минуя формы но требует включённого js и куки, и сообщения о том что есть такие требования. Но если средствами сервера, скорее всего никак не обойтись без хранения данных на сервере... файлы/db Если, как моей точки зрения, должна быть максимальная доступность для нужного контингента, или не знаю как это называется и максимальное противодействие ненужному. ... Хранение на сервере IP-адресов, например посылавших за последний небольшой промежуток времени, может существенно понизить риск бомбардировок )) всякими ботами, скажем 2-3 минуты. Так-же защитит от случайных многократных отправок формы... как это бывает, сообщение, мол вы отправили сообщение менее трёх тому минут Всякие проверки типа "ведите текст с картинки", "введите три раза ответ на вопрос: три плюс два "тоже требуют временного хранения данных, и возможно динамической генерации формы... Вообще можно хранить ещё много разных данных, больше данных - больше возможностей... например ограничение по email+имя или имя+организация-email... Но больше данных, серьёзней риск утечки...
0
|
||
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|||||
| 07.02.2020, 14:25 | |||||
|
тут еще такой вопрос у меня возник по функциональности или логике. короче, вот пользователь заполняет форму в первый раз. оно вводит свои данные тел, емайл, семейное положение ну и т.д. в завершение всего вводит какую-то картинку и отправляет все эти данные в первый раз. во второй раз он снова повторно вводит те же данные, и только картинку вводит другую. может, лучше заполнить форму и отправляет ее один раз,но загрузить не один, а два файла.
проблему с куками или точнее с идентификацией пользователя можно решить таким образом: так как в форме есть поле emaiil, можно сохранять этот email и телефон в базе данных, а потом проверять введенные данные у других пользователей - если будут такие, то выводить сообщение, что финит аля комедия. тут возникает очередная проблема - могут вводить email и телефон выдуманные. для борьбы с такой диверсией придется сделать так: после отправки формы пользователем выводить ему сообщение: "на ваш email отправлено сообщение с нашего сайта. в нем вы должны перейти по указанной там ссылке, чтобы подтвердить, что вы легальный участник нашей программы, а не спамер. благодарим за понимание" после перехода по ссылке в базу данных заносится в зашифрованном виде email и телефон пользователя, после чего данные пользователя отправляются с этого сайта. после проверять наличие этих емайлов в базе а для борьбы со спамом - какую-нибудь ре-капчу ну и т.д вот как то так предлагаю Добавлено через 36 минут хранить отдельно в зашифрованном виде с другим шифром. потом новый емайл преобразовывать в нужный формат и искать наличие таких элементов в базе. а что делать? риск всегда есть
0
|
|||||
|
Невнимательный
|
|
| 07.02.2020, 16:49 | |
|
vinikon, насколько я понял, на данный момент ТС использует только html-фвйлы, не считая этого замысловатого скрипта
![]() И пока не решается, перейти-ли на php окончательно )) а использованию cms уже решительное нет. Т.e. генерация картинки, старт сессии, получение контрольных вопросов из бд... пока не предвидится ) По крайней мере пока другие файлы не станут php-файлами. Поэтому в первую очередь предположил что как минимум , не помешает работа с файлом типа 123.123.345.345 1581081150 $_SERVER['REMOTE_ADDR'] .' '. time() Плюс возможно что-то не хитрое между JS и PHP Хотя разобравшись в коде злоумышленики без труда смогут добавлять нужные куки, но какая-то их часть поленится )) и на крайний случай хотя-бы не отправки будут не чаще нескольких минут , с каждого ip им подконтрольного ![]() Добавлено через 10 минут Более изощрённые способы уже наверное удобнее с заведением полноценных пользователей. А пока так, адрес валидный , поля заполнены, пусть шлют письма , но не слишком ) Хотя да , соглашусь, при большом наплыве , будет не удобно доставать всё из писем, когда можно было-бы смотреть с сайта, любую информацию, любым удобным способом Добавлено через 14 минут Далее по ходу использования возможно будет иметь смысл бан по наличию ссылок в тексте, и чёрные списки ip )
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|||||
| 07.02.2020, 17:19 | |||||
|
я вот здесь Методы идентификации пользователя в интернете нашел вот что
0
|
|||||
|
Невнимательный
|
||
| 07.02.2020, 18:37 | ||
|
Кстати с iframe тоже вариант, в смысле встроить в форму, и сервер сможет как-то реагировать... на то что страница загружена Но это наверное нужен ещё один php-файл )
0
|
||
| 07.02.2020, 18:37 | |
|
Помогаю со студенческими работами здесь
20
проблема с куками Авторизация с куками Задача с Куками. Что-то не так с куками Как пользоваться куками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|