hidden полета във форма със заявка

bunchevi

Registered
Понеже прочетох доста неща за скритите полета и техния смисъл и доколкото разбрах от тях имало смисъл само ако не се ползват сесии. Тъй като аз ще използвам сесии според вас да добавям ли и скрито поле за повече защита. Другото което е- четох, че е лесно да се намерят стойностите им и да се зареди заявката от злонамерени потребители. В такъв случай как да валидирам това поле и какви стойности да му слагам например, за да няма вариант с фалшифицирането му.
 
Тогава като махна скритите полета, при регистър формата има каптча, но при логин и други такива форми с лични данни пак ли трябва да сложа каптчата, защото никъде не съм срещала сайтове, в които като се логваш да има каптча или нещо подобно. Те как се защитават или при тях не е фатално да няма каптча или скрито поле?
 
Добре, но тогава какъв им е смисъла в крайна сметка на тези полета, след като може и без тях. Досега колкото материала по темата съм прочела навсякъде пише, че се използват в случаи на предаване на инф. от потребителя към базата данни , за да не се налага потребителите да въвеждат отново инф. Малко ми е неясно това...
 
Ами да го речеме така - при коментар например, може да се създаде бот, който да пуска супер много коментари за кратко време. Като сложиш captchata трудно ще го направи.
 
bunchevi каза:
Добре, но тогава какъв им е смисъла в крайна сметка на тези полета, след като може и без тях. Досега колкото материала по темата съм прочела навсякъде пише, че се използват в случаи на предаване на инф. от потребителя към базата данни , за да не се налага потребителите да въвеждат отново инф. Малко ми е неясно това...


Например имаш форма за гласуване...

Код:
<form action='' method='post'>
<select>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
</select>
<input type='hidden' value='42343' name='userid' />
<input type='submit' value='Глясувай!' name='glas' />
</form>

В този случай скритото поле ти служи за предаване на ид-то на потребетеля за който ще се гласува .

Ако искаш да защитиш лични данни да не могат да бъдат променяни от 3-ти лица използвай сесий.

Код:
$_SESSION[userid]

Като след това в самата заявка към базата данни правиш проверка

Код:
mysql_query("UPDATE users SET opisanie='$_POST[opisanie]' where userid='$_SESSION[userid'");

Усмихнат ден. :)
 
Избягвай тези скрити полета, или ако ти се налага да има след събмита на формата проверявай какво съдържа и дали е това, което очакваш, ако не е , значи е променен, и не ти е нужна стойността на скритото поле, а иначе сесиите са сигурни, не можеш да ги манипулираш...
А за капчата може да сложиш ако 3пъти сгрешиш паролата си да излиза и капча, пак с цел скриптове да не се опитват да налучкват пароли на потребители... за това е тази капча
 

Back
Горе