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