Страница 1 из 2
Глючёкс с яваскриптом
Добавлено: Ср авг 13, 2003 15:20
ZorroGFS
Наличиствует быть маленький, но неприятный глюк

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

Добавлено: Ср авг 13, 2003 16:07
WertSania
такая же фигня при нажатии на ник
javascript:pastext('------,') не добавляет ник, если в нике присутствует апостроф
Добавлено: Ср авг 13, 2003 16:26
ZorroGFS
WertSania,
В общем-то я об этом же

)
Добавлено: Ср авг 13, 2003 19:07
mercury
пиплы, я не спец в яваскрипт. если кто большой спец, да ещё и добрый: скиньте как должно быть на lovekillah_yahoo.com
Добавлено: Ср авг 13, 2003 19:39
ZorroGFS
Mercuree,
Дык это ты ещё должен до яваскрипта исправить.
Т.е. при выводе в пхп ника внутрь ссылки javascript:pastext('Nick,')делать ему например addslashes.
Добавлено: Ср авг 13, 2003 20:55
WertSania
ZorroGFS, во во
но ведь со слэшами то будет плохо выглядеть имя
а куды stripslashes втыкнуть ?

Добавлено: Ср авг 13, 2003 21:14
ZorroGFS
WertSania,
Дык в том то и дело, что только внутрь яваскрипта и вставлять, а когда он сработает и кинет это в поле слэш из него и исчезнет.
В принципе можно и на ' менять, тогда можно менять везде, никто и не заметит, вплоть до того что менять это изначально при регистрации ника

Добавлено: Пт авг 15, 2003 17:40
mercury
вплоть до того что менять это изначально при регистрации ника
уже рано. это надо было с самого начала делать.
так, что? как эту проблему решить рациональным способом? )
я так понимаю вот тут:
в пхп надо заменить апостроф на апостроф и обратный слэш? или как?
Добавлено: Сб авг 16, 2003 03:01
oxenus
Mercuree писал(а):так, что? как эту проблему решить рациональным способом? )
я так понимаю вот тут:
в пхп надо заменить апостроф на апостроф и обратный слэш? или как?
Ну почти
javascript:pastext('
<?addslashes($nick);?>',')
что-тотипа того. хотя там кажись с темплейтами заморочки

Добавлено: Сб авг 16, 2003 11:09
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,"'","'");
Добавлено: Пн сен 15, 2003 10:36
x
случайно наткнулся на эт тему.
времени лезть в код нету, ео вот почему бы не сделать просто проверку на этот символ, и если скрипт его найдет - риплейс.
типа:
if (mystring.value('\'', 0) == -1)
{
mystring = mystring.replace(/'/g,"\'")
}
зы: жс-ом никогда серьезно не занимался, очень может быть что синтаксис(и даже сам скрипт) ошибочный. Но главное идея

Добавлено: Пн сен 15, 2003 17:39
ZorroGFS
x,
Хмммммм
А где ж це вставить ?
Там ошибка уже при вызове функции жс вставляющей в месаг ник из-за ошибки синтаксиса, так-то надо до него исправить ситуацию.
В общем я уже предложил готовое решение, но чёт его админы не спешать применить

Добавлено: Пн сен 15, 2003 18:45
x
ну дык сначала выполнить проверку, исправленный ник вставить в переменную, потом уже вызвать ф-цию вставки.
а почему не применяют (и мое предложение наверное постигнет та же участь) - жизнь нынче такая херовая

Добавлено: Вт сен 16, 2003 10:04
ZorroGFS
Ну вот смотри, ошибка возникает уже здесь:
Код: Выделить всё
<a href="javascript:pastetext('Nick')">Nick</a>
трабла в том, что вариантов кавычек всего 2 и какие бы не использовать всё равно возникает проблема что параметр обрубится либо от того что хтмл решил что хреф закончен, либо от того что яваскрипт решил что стринг закончен.
Не могу же я вместо этого написать что-то вроде
Код: Выделить всё
<a href="javascript:var nn='Nick';nn.replace(....);pastetext(nn)">Nick</a>
так как проблема так и останется - ошибка будет возникать при записи ника в переменную.
Добавлено: Вт сен 16, 2003 10:06
ZorroGFS
Уууууууупс
Пока писал предыдущий мессаг - форум мне выдал следущее
Could not connect to smtp host : 0 :
DEBUG MODE
Line : 128
File : /home/virtual/site12/fst/var/www/html/forum/includes/smtp.php
Добавлено: Вт сен 16, 2003 22:05
x
ща у меня другое вышло
гугльх - [урл=хттп://ссылка]слово[/урл] (ессно латиницей) не работет. У всех так?
зы: Зорро, а там с жсом - эта ф-ция пасттекста лежит у них в скрипте. Вон там и можно сделать проверку, и передать хтмлу уже готовый вариант. Наверное

Вощем фиг с ним

Добавлено: Вт сен 16, 2003 22:36
ZorroGFS
x,
Ррррррррр
Дык вызова функции не происходит, ошибка до него случается - так что лечить надо заранее ещё при генерации страницы в пхп.

А в общем действительно фик с ним

Добавлено: Вт сен 16, 2003 22:54
oxenus
А админы всё сидят и смотрят, на чём же вы всё-таки остановитесь

)
Добавлено: Ср сен 17, 2003 10:31
x-guest
остановились мы на фиг с ним =)
сейчас осталось решить траблу с урлом, и почему мне на
www.chat.md дает днсеррор. но думаю это временно, ибо бывало еще. Сис.админа вашего сервака пинать надо

Добавлено: Ср сен 17, 2003 11:44
oxenus
Не на, это хостинг надо пинать

Админ хороший
