![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Вставить ник | Быстрая цитата | Сообщение
#1
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 978 Регистрация: 15.04.2004 Пользователь №: 3224 ![]() |
Есть 2 фрагмента кода:
1 <P><A href=#bottom onClick=srcfu('img3.jpg')>ССЫЛКА</A></P> <table id=lei style="visibility: hidden; position: absolute; left: 500px; top: 20px; width: 100px; height: 100px"> <tr> <td><iframe name=ifra></iframe></td> </tr> </table> <script language=JavaScript> function srcfu(AEF) { document.all("ifra").src=AEF; document.getElementById("lei").style.visibility="visible"; document.getElementById("lei").style.top=event.y+document.body.scrollTop+5+"px"; document.getElementById("lei").style.left=event.x+document.body.scrollLeft+5+"px"; } </script> 2 <P><A href="java script: onClick=srcfu('img3.jpg')">ССЫЛКА</A></P> <table id=lei style="visibility: hidden; position: absolute; left: 500px; top: 20px; width: 100px; height: 100px"> <tr> <td><iframe name=ifra></iframe></td> </tr> </table> <script language=JavaScript> function srcfu(AEF) { document.all("ifra").src=AEF; document.getElementById("lei").style.visibility="visible"; document.getElementById("lei").style.top=event.y+document.body.scrollTop+5+"px"; document.getElementById("lei").style.left=event.x+document.body.scrollLeft+5+"px"; } </script> Различия между вариантами только в первой строке: href=#bottom onClick=srcfu('img3.jpg') и href="java script: onClick=srcfu('img3.jpg')" Задача обоих фрагментов кода - после щелчка на ссылке открывать таблицу с фреймом рядом с местом щелчка. Вариант 1 полностью работает так, как надо. Вариант 2 открывает фрейм, но в том месте, которое задано в стиле таблицы, не перемещая фрейм к месту щелчка. Задача - заставить 2-ой вариант работать также, как 1-ый. Как это сделать? |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#2
|
|
![]() Bill rulz ^^ ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1418 Регистрация: 28.09.2003 Пользователь №: 24 ![]() |
Код java script: onClick=srcfu('img3.jpg') это ты мощьно придумалправильный вариант: Код java script: srcfu('img3.jpg') <-- без пробела слове яваскипт, ацкий форум зачем-то ставит пробел.
Сообщение отредактировано SHADE - 14.07.2008 - 23:08 |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#3
|
|
Это вам не это...![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2061 Регистрация: 20.09.2003 Пользователь №: 9 ![]() |
Практический смысл использования href="java script: function()" в данном случае непонятен.
Объект event (то есть событие - в данном случае onclick) не будет существовать при подобном вызове функции. |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#4
|
|
![]() Это вам не это... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2357 Регистрация: 29.09.2003 Пользователь №: 106 ![]() |
без пробела слове яваскипт, ацкий форум зачем-то ставит пробел. это такая мощная защита от возможных XSS , нельзя писать "javascript:" Код $txt = preg_replace( "#javascript\:#is" , "java script:", $txt ); а вот что бы возвратить оригинальный текст назад, при выводе из базы, никто не подумал |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#5
|
|
![]() Bill rulz ^^ ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1418 Регистрация: 28.09.2003 Пользователь №: 24 ![]() |
нету тут никакого xss, потому что скобочки экнодятся, единственаня проверка должна быть при формаровании линка из бб-кода: "если линк ссылки или картнки не начинается с http:// https:// или ftp:// -- ссылка невалидна", а относительные линки для форума по определению невалидны.
без скобочек < > конструкция java script: не имеет никакой живительной силы |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#6
|
|
![]() Это вам не это... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2357 Регистрация: 29.09.2003 Пользователь №: 106 ![]() |
не заметил ты намек сарказма в моих словах, надо было смайлик поставить
![]() да, здесь нет xss, к счастью слова javascript с двоеточием в конеце в конце недостаточно что б скрипт исполнился но фильтруется все! любое упоминание javascript: заменяется на "безопасное" java script: вообщем инвиженовцы перебдели. |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#7
|
|
![]() Bill rulz ^^ ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1418 Регистрация: 28.09.2003 Пользователь №: 24 ![]() |
надо было ставить смайлик
![]() кстати в тему XSSа, недавно решали задачу как разрешить любым юзверям использовать HTML редактор для коментов, оказалось что проще описать модель правильного HTMLя чем описать все возможные хаки ![]() |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#8
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 632 Регистрация: 9.10.2005 Пользователь №: 10041 ![]() |
кстати в тему XSSа, недавно решали задачу как разрешить любым юзверям использовать HTML редактор для коментов, оказалось что проще описать модель правильного HTMLя чем описать все возможные хаки ![]() Естественно... Так же как и проще описать модель правильного (X)HTML'я... Благо валидаторов для XML'я достаточно(тот же relax ng). |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#9
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 978 Регистрация: 15.04.2004 Пользователь №: 3224 ![]() |
правильный вариант: Код java script: srcfu('img3.jpg') <-- без пробела слове яваскипт, ацкий форум зачем-то ставит пробел. Практический смысл использования href="java script: function()" в данном случае непонятен. Объект event (то есть событие - в данном случае onclick) не будет существовать при подобном вызове функции. Ни в моем варианте, ни в варианте SHADE нужный результат не получается. |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#10
|
|
![]() Частый гость ![]() ![]() ![]() Группа: Участник Сообщений: 233 Регистрация: 4.01.2006 Пользователь №: 11329 ![]() |
Цитата Различия между вариантами только в первой строке: href=#bottom onClick=srcfu('img3.jpg') и href="java script: onClick=srcfu('img3.jpg')" Задача - заставить 2-ой вариант работать также, как 1-ый. Как это сделать? может быть, стоит устранить различия в первой строке?) автор, тебе же правильно сказали что во втором случае event == null |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#11
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 978 Регистрация: 15.04.2004 Пользователь №: 3224 ![]() |
Мне нужен работающий вариант. Такой вариант кода у меня есть, но в нем href=#bottom. Все бы ничего, но этот код должен вставляться в фрейм WYSIWYG-редактора. Не знаю, как в FF и Opera, но в IE появление в фрейме WYSIWYG-редактора фрагмента href=#bottom приводит к тому, что IE добавляет "отсебятину": href=http://адрес_страницы_WYSIWYG_редактора#bottom, что, понятно, нарушает работу кода.
Поэтому мне нужен код, который бы "обошел" данную проблему. |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#12
|
|
![]() Частый гость ![]() ![]() ![]() Группа: Участник Сообщений: 233 Регистрация: 4.01.2006 Пользователь №: 11329 ![]() |
ну сделай так
Код <p><a href="java script:" onClick="srcfu('img3.jpg')">йа сцылко</a></p>
|
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#13
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 978 Регистрация: 15.04.2004 Пользователь №: 3224 ![]() |
|
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 11.05.2025 - 23:25 |