Глючёкс с яваскриптом

Модератор: Лора Палмер

Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Глючёкс с яваскриптом

Сообщение ZorroGFS »

Наличиствует быть маленький, но неприятный глюк :)
Есть на форуме ники содержащие символ '
В результате того что он не преобразуется в ' или \' при выводе страницы - возникают ошибки исполнения при цитировании, указания ника и тому подобных вещей :)

Думаю исправлять там 2 минуты в общем :)
Последний раз редактировалось ZorroGFS Ср авг 13, 2003 16:25, всего редактировалось 1 раз.
WertSania
Отец
Сообщения: 4443
Зарегистрирован: Пн авг 19, 2002 18:28

Сообщение WertSania »

такая же фигня при нажатии на ник
javascript:pastext('------,') не добавляет ник, если в нике присутствует апостроф
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

WertSania,
В общем-то я об этом же :))
Аватара пользователя
mercury
Старожил
Сообщения: 1912
Зарегистрирован: Пн авг 12, 2002 23:03
Откуда: ни возьмись
Контактная информация:

Сообщение mercury »

пиплы, я не спец в яваскрипт. если кто большой спец, да ещё и добрый: скиньте как должно быть на lovekillah_yahoo.com
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

Mercuree,
Дык это ты ещё должен до яваскрипта исправить.
Т.е. при выводе в пхп ника внутрь ссылки javascript:pastext('Nick,')делать ему например addslashes.
WertSania
Отец
Сообщения: 4443
Зарегистрирован: Пн авг 19, 2002 18:28

Сообщение WertSania »

ZorroGFS, во во :)
но ведь со слэшами то будет плохо выглядеть имя :)
а куды stripslashes втыкнуть ? :)
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

WertSania,
Дык в том то и дело, что только внутрь яваскрипта и вставлять, а когда он сработает и кинет это в поле слэш из него и исчезнет.
В принципе можно и на ' менять, тогда можно менять везде, никто и не заметит, вплоть до того что менять это изначально при регистрации ника :)
Аватара пользователя
mercury
Старожил
Сообщения: 1912
Зарегистрирован: Пн авг 12, 2002 23:03
Откуда: ни возьмись
Контактная информация:

Сообщение mercury »

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

так, что? как эту проблему решить рациональным способом? )
я так понимаю вот тут:

Код: Выделить всё

javascript:pastext('[b]nick[/b]',')
в пхп надо заменить апостроф на апостроф и обратный слэш? или как?
Аватара пользователя
oxenus
Продвинутый
Сообщения: 750
Зарегистрирован: Пн авг 12, 2002 20:37
Откуда: отсюда
Контактная информация:

Сообщение oxenus »

Mercuree писал(а):так, что? как эту проблему решить рациональным способом? )
я так понимаю вот тут:

Код: Выделить всё

javascript:pastext('[b]nick[/b]',')
в пхп надо заменить апостроф на апостроф и обратный слэш? или как?
Ну почти
javascript:pastext('<?addslashes($nick);?>',')
что-тотипа того. хотя там кажись с темплейтами заморочки ;)
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

Mercuree,
Ну в принципе никогда не поздно :)
Поидее, щас глянул, достаточно в login.php и в inxludes/usercp_register.php дабавить к htmlspecialchars опцию - ENT_QUOTES то есть
$username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'],ENT_QUOTES)) : '';
и
$$var = trim(htmlspecialchars($HTTP_POST_VARS[$param],ENT_QUOTES));
в соотвествующих файлах.

И сделать в sql запрос
update phpbb_users set username=replace(username,"'","'");
Аватара пользователя
x
Продвинутый
Сообщения: 957
Зарегистрирован: Вт янв 07, 2003 10:15

Сообщение x »

случайно наткнулся на эт тему.
времени лезть в код нету, ео вот почему бы не сделать просто проверку на этот символ, и если скрипт его найдет - риплейс.
типа:
if (mystring.value('\'', 0) == -1)
{
mystring = mystring.replace(/'/g,"\'")
}

зы: жс-ом никогда серьезно не занимался, очень может быть что синтаксис(и даже сам скрипт) ошибочный. Но главное идея :)
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

x,
Хмммммм
А где ж це вставить ?
Там ошибка уже при вызове функции жс вставляющей в месаг ник из-за ошибки синтаксиса, так-то надо до него исправить ситуацию.

В общем я уже предложил готовое решение, но чёт его админы не спешать применить :)
Аватара пользователя
x
Продвинутый
Сообщения: 957
Зарегистрирован: Вт янв 07, 2003 10:15

Сообщение x »

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

а почему не применяют (и мое предложение наверное постигнет та же участь) - жизнь нынче такая херовая :)
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

Ну вот смотри, ошибка возникает уже здесь:

Код: Выделить всё

<a href="javascript:pastetext('Nick')">Nick</a>
трабла в том, что вариантов кавычек всего 2 и какие бы не использовать всё равно возникает проблема что параметр обрубится либо от того что хтмл решил что хреф закончен, либо от того что яваскрипт решил что стринг закончен.
Не могу же я вместо этого написать что-то вроде

Код: Выделить всё

<a href="javascript:var nn='Nick';nn.replace(....);pastetext(nn)">Nick</a>
так как проблема так и останется - ошибка будет возникать при записи ника в переменную.
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

Уууууууупс
Пока писал предыдущий мессаг - форум мне выдал следущее :)
Could not connect to smtp host : 0 :
DEBUG MODE
Line : 128
File : /home/virtual/site12/fst/var/www/html/forum/includes/smtp.php
Аватара пользователя
x
Продвинутый
Сообщения: 957
Зарегистрирован: Вт янв 07, 2003 10:15

Сообщение x »

ща у меня другое вышло

гугльх - [урл=хттп://ссылка]слово[/урл] (ессно латиницей) не работет. У всех так? :)

зы: Зорро, а там с жсом - эта ф-ция пасттекста лежит у них в скрипте. Вон там и можно сделать проверку, и передать хтмлу уже готовый вариант. Наверное :) Вощем фиг с ним :)
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

x,
Ррррррррр
Дык вызова функции не происходит, ошибка до него случается - так что лечить надо заранее ещё при генерации страницы в пхп. :)
А в общем действительно фик с ним :)
Аватара пользователя
oxenus
Продвинутый
Сообщения: 750
Зарегистрирован: Пн авг 12, 2002 20:37
Откуда: отсюда
Контактная информация:

Сообщение oxenus »

А админы всё сидят и смотрят, на чём же вы всё-таки остановитесь ;-))
x-guest

Сообщение x-guest »

остановились мы на фиг с ним =)
сейчас осталось решить траблу с урлом, и почему мне на www.chat.md дает днсеррор. но думаю это временно, ибо бывало еще. Сис.админа вашего сервака пинать надо :)
Аватара пользователя
oxenus
Продвинутый
Сообщения: 750
Зарегистрирован: Пн авг 12, 2002 20:37
Откуда: отсюда
Контактная информация:

Сообщение oxenus »

Не на, это хостинг надо пинать ;)
Админ хороший ;)
Ответить

Вернуться в «Техническая поддержка»