Jump to content
  • 0

Права на выполнение яваскриптовских функций


Колос
 Share

Question

Допустим на странице описана яваскриптовая функция. Но на странице нигде нет её вызова.

Может ли пользователь сам искусственно вызвать эту функцию? С помощью своего браузера или ещё как-то?

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Если вы хотите скрытое управление реализовать, то тут вариантов масса. Например.

1. Парсинг строки запроса и вывод в случае каких-то определенных значений параметров скрытых элементов.

2. Двойной клик на какой-нибудь небольшой элемент логически не предназначенный для этого.

3. Комбинация клавиш, при которой будет раскрываться дополнительный функционал.

4. Предыдущий вариант можно реализовать допустим только при нахождении указателя мыши в определенной области страницы.

Ну и т.п. Хотя лучше управление реализовывать на php.

Link to comment
Share on other sites

  • 0

Спасибо. Управление на php. То есть с помощью пхп определяется у какого пользователя ссылки на запуск какой функции будут.

Но боюсь, что ведь все равно список всех функций будет доступен всем пользователям. Вдруг у них есть возможность их запускать. Может быть с помощью файрбага или ещё как.

Link to comment
Share on other sites

  • 0

php - серверные скрипты, и никакой файербаг их не увидит. А вот javascript каждый боле-менее технически подкованный школьник сможет найти и разобрать.

Как вы думаете, почему все админки строятся на серверных скриптах, в т.ч. и на php?

Link to comment
Share on other sites

  • 0

Да, как раз при помощи фаербага и можно. Например, дописываем какому-нибудь элементу (или вообще добавляем новый) на онклик эту функцию и всё вызывается. А еще в опере при просмотре "исходного кода страницы" также можно "на лету" код менять

Link to comment
Share on other sites

  • 0
Да, как раз при помощи фаербага и можно. Например, дописываем какому-нибудь элементу (или вообще добавляем новый) на онклик эту функцию и всё вызывается. А еще в опере при просмотре "исходного кода страницы" также можно "на лету" код менять

Ясно.

Именно этого я и боялся :-)

Link to comment
Share on other sites

  • 0

А чего тут бояться? Как-то я не вижу проблем, которые могут случиться. Яваскрипт исполняется на стороне клиента, так что серверу это не навредит. Ну а уж если захотят сервак повалить, то обязательно повалят и без всяких яваскриптов.

Link to comment
Share on other sites

  • 0
А чего тут бояться? Как-то я не вижу проблем, которые могут случиться. Яваскрипт исполняется на стороне клиента, так что серверу это не навредит. Ну а уж если захотят сервак повалить, то обязательно повалят и без всяких яваскриптов.

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

Зная функционал намного легче искать дыры в реализации.

Link to comment
Share on other sites

  • 0
Колос, а общая то задача какая? Может все не так решается...

Ну, если вам это любопытно:

На сайте есть страница, к которой пользователи могут оставлять свои замечания. Пользователи могут править свои замечания. То есть возле тех замечаний, который оставил пользователь есть кнопка "править". По нажатию вызывается яваскриптовская функция, которая рисует вокруг текста текстарею, добавляет кнопки "сохранить", "отменить". По нажатию "сохранить" вызывается яваскриптовская функция отправляющая форму. В общем делал примерно так, как сделана работа с комментариями в вконтакте.

Проверка пользователя на стороне сервера у меня тоже делается. Но было любопытно - яваскрипт, он скорей друг мой в плане защиты или враг. Выяснилось, что скорее враг :-)

Link to comment
Share on other sites

  • 0

Только на стороне пользователя можно проверять, вы зра велосипед изобретаете, это все уже на шишках во лбах программистов проверено. javascript полностью открыт для клиентской части, и очевидный вывод даже для ламера - javascript никак нельзя использовать в алгоритмах безопасности.

Идентификатор сессии в совокупности с реальным IP и еще какой-нить информацией типа капчи, динамически переданной с клиента, еще могут как-то защитить от нежелаемых вторжений...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy