Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нажимаем на кнопочку , увеличиваем переменную [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 [2] 3 »   

> Без описания
movEAX
Отправлено: 27 Апреля, 2010 - 08:17:20
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




- Для предотвращения самовольного изменения пользователем данных в запросе используйте сесси:
PHP:
скопировать код в буфер обмена
  1. if ( $_POST['step'] & $_SESSION['last_step'] ){
  2.     ...
  3.     $_SESSION['last_step'] = $_POST['step'];
  4. } else {
  5.     die('Голову с плечь!')
  6. }

- Для отправки данных методом POST можно использовать какой-нибудь фреймворк, к примеру Jqery:
CODE (javascript):
скопировать код в буфер обмена
  1. $.post( 'http://php.su', {arg:1, arg2:2}, function(data){ alert( 'Полученные данные:' + data)});

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

(Отредактировано автором: 27 Апреля, 2010 - 08:20:03)



-----
армия.. самое убогое место
 
 Top
Prog
Отправлено: 27 Апреля, 2010 - 10:00:34
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




jfr пишет:

Просто, там где написали GET меняйте на POST

Не получается ...
(Добавление)
Уже сделал с помощью GET , но интересно как с POST сделать .
 
 Top
markus4
Отправлено: 27 Апреля, 2010 - 11:26:11
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




<!-- Отправка с помощью POST делается так: -->
<!-- Делаем 2 формы -->
<!-- параметр action содержит адрес файла-обработчика. -->
<!-- параметр name содержит имя формы. Они у вас должны быть разные. -->
<!-- // ###################################################### -->
<form name="form_Next" method="post" action="index.php">
<input name="A_1" type="text" id="A_1" value="<? echo $a; ?>">
<input type="submit" name="Submit2" value="Вперёд">
</form>
<!-- // ###################################################### -->
<form name="form_Back" method="post" action="index.php">
<input name="A_2" type="text" id="A_2" value="<? echo $a; ?>">
<input type="submit" name="Submit" value="Назад">
</form>
<!-- // ###################################################### -->
<!-- Ловить переменные так, как Вам уже выше подсказали - вместо $_GET пишите $_POST: -->
$a=$_POST['A'];
(Добавление)
также я так понимаю, что поле ввода у вас должно быть скрытое,
А видна только кнопка.
Поэтому параметр 'type' установите как "hidden".

<form name="form_Next" method="post" action="index.php">
<input name="A_1" type="hidden" id="A_1" value="<? echo $a; ?>">
<input type="submit" name="Submit_1" value="Вперёд">
</form>


-----
Нет вокруг ничего кроме бесконечного журчания опкодов вселенной...
 
 Top
JustUserR
Отправлено: 27 Апреля, 2010 - 13:24:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




movEAX пишет:
Для отправки данных методом POST можно использовать какой-нибудь фреймворк, к примеру Jqery:
$.post( 'http://php.su', {arg:1, arg2:2}, function(data){ alert( 'Полученные данные:' + data)});
Не стоит этого делать поскольку задача не такая сложная - чтобы ради одного POST-запроса подключать тяжеловесный фреймворк
Prog Не забывайте что пользователь хотя и не может поменять значение переменных в сессии - но при этом с легкостью может удалить текущую сессию Как вариант защиты можно использовать регистрацию на сайте - и использовать привязку сессии в БД с информацией о пользователе


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Prog
Отправлено: 27 Апреля, 2010 - 14:12:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




markus4,JustUserR
Спасибо большое)))
 
 Top
JustUserR
Отправлено: 27 Апреля, 2010 - 14:56:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Prog пишет:
markus4,JustUserR
Спасибо большое)))
Пожалуйста! Главное помните что данным пришедшим от пользователя нельзя доверять - поскольку всегда нельзя исключать попытку взлома


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
AdMeen
Отправлено: 27 Апреля, 2010 - 15:22:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




jfr пишет:

этого можно избежать методом POST, а не GET


тоже особых проблем не составит подменить запрос. Prog, всё таки наверное лучше использовать сессию.

(Отредактировано автором: 27 Апреля, 2010 - 15:22:43)

 
 Top
Prog
Отправлено: 27 Апреля, 2010 - 16:07:29
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Пользователь может изменить своими руками значение сессий в браузере?
 
 Top
markus4
Отправлено: 27 Апреля, 2010 - 16:29:32
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Конечно может. Его скрипт может создавать менять и удалять переменные в массиве $_SESSION. Иначе как бы Вы создали вообще сессию?


-----
Нет вокруг ничего кроме бесконечного журчания опкодов вселенной...
 
 Top
movEAX
Отправлено: 27 Апреля, 2010 - 17:34:09
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




Prog пишет:
Пользователь может изменить своими руками значение сессий в браузере?

Он с легкостью может подменить значение любого input'a, который будет передаваться через post. А значения в массиве $_SESSION как бы он ни корячился - нет! Единственное может подменить идентификатор сессии в куках, и не более того.

(Отредактировано автором: 27 Апреля, 2010 - 17:36:42)



-----
армия.. самое убогое место
 
 Top
markus4
Отправлено: 27 Апреля, 2010 - 17:54:35
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Под пользователем Вы имеете в виду не себя а постороннего? нет, он не сможет изменить переменные сессии. Многих новичков волнует вопрос - сможет ли кто-то посторонний каким-либо образом получить доступ к сессиям? Прежде всего, между вами и сессией долже стоять файл скрипта. Скрипт - это тот инструмент, (можно сказать интерфейс) который может изменить значение сессии. Если у человека нет доступа к скрипту, изменить сессию он не сможет. Отсюда совет фильтровать поля ввода в формах. Если образно и поэтично - скрипт, как и вода, может существовать в твёрдом и жидком состоянии. В твёрдом - это когда он имеет расширение php или pl, и поставлен на сервер Вами лично. Но скрипт можно тихонько залить на сервер и в "жидком состоянии", например в плохо фильтруемые поля форм... Улыбка Огромное количество хакеров промышляют этим. Лично Вашему сайту ничего не грозит при таком взломе. Уничтожать дойную корову глупо. Просто маленькая незаметная вставка будет исправно воровать клики и кидать лишнюю ложку икры на чужой бутерброд.


-----
Нет вокруг ничего кроме бесконечного журчания опкодов вселенной...
 
 Top
Prog
Отправлено: 27 Апреля, 2010 - 20:40:09
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Я сейчас говорю про другое . У меня вот такое дело - я создал авторизацию , после того как авторизация прошла удачно , создается $_SESSION['Name'] - и в нее записывается имя пользователя . И дальше все идет от этой сессии . К примеру у меня есть мини игра . После авторизации игрок переходит в игру , оно делает запрос по _SESSION['Name'] в БД . Вопрос : Пользователь может изменить значение этой сессии ? К примеру на ник администратора , что бы потом все данные загружались от ника администратора .

(Если не поняли то объясню подробнее)
 
 Top
movEAX
Отправлено: 27 Апреля, 2010 - 21:53:39
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




У меня ощущение что меня игнорируют Ниндзя
вопрос:
Prog пишет:
Пользователь может изменить значение этой сессии ? К примеру на ник администратора , что бы потом все данные загружались от ника администратора .

ответ:
Цитата:
... $_SESSION как бы он ни корячился - нет! Единственное может подменить идентификатор сессии в куках, и не более того.


-----
армия.. самое убогое место
 
 Top
Prog
Отправлено: 27 Апреля, 2010 - 22:08:14
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




movEAX
Радость Радость спасибо ))
 
 Top
markus4
Отправлено: 27 Апреля, 2010 - 22:13:26
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Внимательнее почитайте топик movEAX, он Вам всё подробно объяснил. Сессию ваш игрок не сможет изменить.


-----
Нет вокруг ничего кроме бесконечного журчания опкодов вселенной...
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB