Виртуальная Клавиатура на Java

123
goodier
На сайте с 10.03.2009
Offline
36
#11
bearman:
возсожно смогу помочь, только вечером. жен и ребенок в больницу попали, не до работы :(

Понимаю сам семейный, как все наладится дай знать.

Сам всяко не сделаю уже все перепробовал.

goodier
На сайте с 10.03.2009
Offline
36
#12

Ну же, ребята помогите плиз!

S
На сайте с 27.02.2007
Offline
60
#13

Блин, написал тебе личное сообщение, спросил, почему именно виртуальная клавиатура, почему нельзя позволить юзеру вводить данные со своей клавы? В ответ тишина, а тут крики ХЕЛП...

Создание сайтов, документация... (http://site3k.net/), сайт нашей дизайн-студии (http://website-it.ru/)
goodier
На сайте с 10.03.2009
Offline
36
#14

Вот что мне предложили на другом форуме:

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


У меня сложилось мнение, что это для вас самый важный момент! Но, все варианты инпутов рассчитаны на ввод с КЛАВЫ, следовательно необходимо в обработчике onKey отключать ВСЕ варианты ввода с клавы или почти все, за исключением клавишы "ЗАБОЙ" и клавиши "ВВОД". Мне думается, что если в виртуальную клаву (в дальнейшем ВК) снизу добавить эти две клавиши, (там будет 12 кнопок) то можно вообще отказаться от инпутов. "Нарисовать" рамочку имитатор поля ввода в именованном поле и по нажатию вызывать ВК. Устанавливать фокус в это именованное поле или нет, это дело вкуса. В этом случае по нажатию кнопки на ВК результат передаётся в именованное поле (соответственно сам результат хранится в переменной, а в поле ТОЛЬКО отражается) а уже по нажатию на кнопу "ВВОД", аналог СУБМИТ всё введённое передаётся куда следует дальше. На мой взгляд это полностью меняет всё то, что уже написано. Необходим совершенно другой подход. Мне так думается.........
S
На сайте с 27.02.2007
Offline
60
#15

Что касается виртуальной клавы: можно поставить атрибут реадонли и писать в поле можно будет только с виртуальной клавы. Чтобы она открывалась при щелчке по полю, вместо onfocus в предложеном мной решении, используй onclick (тогда не будет реакции на каждую передачу фокуса). Кроме того, в скрипте можно гайки подкрутить...

НО!

Это никоим образом не защитит тебя от злого нахера, который пошлет к тебе запрос из собственного скрипта.

Так что, с одной стороны - убрать нафиг эту клаву и:

1)

if(isNaN(pole.value)){

alert('Это не число "'+pole.value+'"');

pole.value='';

}

2) Не скажу, что это последняя инстанция, но, все таки, сначала читаешь о безопасности форм, потом, что не ясно, спрашиваешь в форуме.

goodier
На сайте с 10.03.2009
Offline
36
#16

На данный момент использую для защиты этот код

$sumin = mysql_real_escape_string( $sumin );
S
На сайте с 27.02.2007
Offline
60
#17

это не защита от sql-иньекций. Проверку правильности ввода поставь яваскриптом, а на сервере поставь защиту от атак, а потом повторную проверку правильности ввода, на случай, если у юзера яваскрипт отключен. И эту смешную клаву можно смело выкинуть :)

А про защиту все-таки почитай по ссылке

[Удален]
#18
goodier:
На данный момент использую для защиты этот код
$sumin = mysql_real_escape_string( $sumin );

и этого 100% достаточно :)

S
На сайте с 27.02.2007
Offline
60
#19

Мне удавалось на каком-то хостинге запускать команды через форму, обрамляя их ``. Так можно не только скуэль побить, но и все файло удалить ;)

То есть, mysql_real_escape_string экранирует текст и защищает на этапе обращения к sql-серверу. Но до этого обращения еще столько возможностей сунуть каку, что эсли они не пресечены, mysql_real_escape_string уже не поможит.

[Удален]
#20
Supervisork:
Мне удавалось на каком-то хостинге запускать команды через форму, обрамляя их ``. Так можно не только скуэль побить, но и все файло удалить ;)
То есть, mysql_real_escape_string экранирует текст и защищает на этапе обращения к sql-серверу. Но до этого обращения еще столько возможностей сунуть каку, что эсли они не пресечены, mysql_real_escape_string уже не поможит.

тупость программиста не коррелирует с возможностями языка программирования

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий