fixed Нельзя отправить ЛС пользователю с ником, имеющим символы >&<

TP version
2.2.3
В файле privmsg.php вначале вызывается функция clean_username для ника адресата, после чего строчками ниже вызывается функция get_userdata.
Внутри этой функции при формировании конечного sql-запроса происходит повторный вызов clean_username.

Все хорошо, пока имя не содержит таких символов, как >&<.
Допустим ник <<<SuperNick>>. В базе он будет храниться как &lt;&lt;&lt;SuperNick&gt;&gt;&gt;
Первый вызов clean_username вернет &lt;&lt;&lt;SuperNick&gt;&gt;&gt; и передаст его в функцию get_userdata. Повторный вызов clean_username вернет уже &amp;lt;&amp;lt;&amp;lt;SuperNick&amp;gt;&amp;gt;&amp;gt;, превращая sql-запрос в фарш.





в
 
Back
Top