Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 66

Защита от повторной записи в файл

10.07.2010, 22:47. Показов 4492. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
мечтаю сделать защиту от повторной записи в фаил.когда юзверь нажимает кнопку Отправить,сообщение отправляется, а если еще раз нажимает,вылезает сообщение,мол,след.сообщение можно добавить только через 2 минуты.как это реализовать с помощью сессии?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.07.2010, 22:47
Ответы с готовыми решениями:

Pеrmission denided при повторной записи в файл
dеf writе_filе(filе_namе,rеjim,tеxt) Filе.opеn(filе_namе,rеjim,tеxt.to_i) do |filе| filе.puts tеxt...

Защита от повторной отправки формы
Привет. Есть форма, пусть для примера это будет форма отправки комментариев. С помощью плагина jquery.form.js форма отправляется на...

защита от повторной отправки формы
Как вы думайте в чем недостаток такой защиты от повторной отправки формы? if(isset($_SESSION)) //блокируем повторную отправку если ip...

38
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
11.07.2010, 00:23
суёшь пользователю кукис с временем жизни 2 минуты, потом проверяешь...
0
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
11.07.2010, 13:22
Может использовать setTimeout и disabled?
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
11.07.2010, 13:45
если бы я был злонамереным юзверем я бы обошёл дизайблед и сеттаймоут, поверь!
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
11.07.2010, 13:47
впринципе и кукис обойти легко.
0
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
11.07.2010, 13:59
: ) ему наверное все равно, главное чтоб для большинства подходило, а если кто захочет обойти защиту, то наверное обойдет
0
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
11.07.2010, 14:01
а кстати, как обходится disabled и setTimeout? Не то чтоб нужно особенно, просто интересно
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
11.07.2010, 16:20
берёшь весь штмл документа
вставляешь его в свой документ
вырезаешь весь блокирующий яваскрипт
ставишь тегам какие нужно параметры
сабмитишь форму
0
evge
11.07.2010, 18:23
А сервер посмотрит на реферер и отправит твою форму в мусор...
В сессию надо вставить время последней записи в файл (серверное конечно) и проверять при следующей попытке записи.
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 66
11.07.2010, 20:20  [ТС]
эээ..а пример маленький можете привести?(с сессией)
0
evge
11.07.2010, 21:50
PHP
1
2
3
4
5
6
7
8
9
10
11
<?
session_start();
if($_POST[foo_name]!=''){
    if(!$last_upload)$last_upload=0;
    $time=time();
    if($time-$last_upload>2*60){
        copy($_POST[foo],$dir_path.$_POST[foo_name]);
        $_SESSION[last_upload]=$time;
    }else echo 'upload denied';
}
?>
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
11.07.2010, 22:56
есть много способов попытаться обмануть, и не менее попытаться защититься!
0
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 105
13.07.2010, 00:25
Тоже вопрос про сессии, может поможете разобраться?
Я прописываю небольшой код ну к примеру:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
<? 
session_start();
session_register('count');
 
$count=@$count+1;
?>
...
<body>
...
<?=$count?>
...
</body>
в итоге ничего не происходит. В чем ошибка?
0
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
13.07.2010, 08:19
перед session_register поставь что ли $count=0;
0
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
13.07.2010, 08:23
вообще что ты сделать то хочешь?
0
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
13.07.2010, 08:36
Если тебе нужен счетчик
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if (!isset($_SESSION['count'])) {
   $_SESSION['count'] = 1;
} else {
   $_SESSION['count']++;
}
$count = $_SESSION['count'];
?>
...
<body>
...
<?=$count?>
...
</body>
0
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 105
13.07.2010, 19:51
надо чтобы был массив с заказом, но даже это не работает...
0
7 / 8 / 6
Регистрация: 11.05.2008
Сообщений: 876
13.07.2010, 20:20
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
<? 
session_start();
session_register('count');
$_SESSION[count]++;
?>
...
<body>
...
<?=$_SESSION[count]?>
...
</body>
0
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 105
13.07.2010, 22:53
Класно! Все работает. А как сделать чтобы переменная этой сессии работала на всех страницах, пока ты на сайте?
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
13.07.2010, 23:57
указать в каждом документе в самом начале session_start()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.07.2010, 23:57
Помогаю со студенческими работами здесь

Защита от повторной отправки POST-данных
браузер кэширует _POST. Если рефрешнуть то пост данные остануться, а значит сработает код еще раз. Надо после того, как 1 рах отправили...

Защита резидентной программы от повторной установки
Есть две программы резидентная и обращающаяся к ней. Что надо добавить чтобы защитить резидентную от повторной установки в память? ...

Вывод времени. Защита резидента от повторной загрузки
всем привет! снова имеется программа вывода времени, увы написанная не мной.. правда на сей раз занимает чуть больше ресурсов памяти.. ...

Сообщение в БД о повторной записи
Подскажите, как сделать в форме, чтобы при заполнение формы, выходило сообщение (поиск информации за 72 часа) о том, что уже такая запись...

Запрет повторной записи документа
Привет всем. Скажите пожалуйста как можно запретить повторную интерактивную запись документа?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
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
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru