Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
egr 15.12.2002 09:10
Столкнулся с парой проблем при работе с СУБД PostgreSQL.[Sun Dec 15 08:23:21 2002] [error] [client 127.0.0.1] Premature end of script headers: d:/apache/cgi-bin/parser3.exeЕсли Apache работает тоже под FreeBSD все нормально, т.е. данные размером более 8049 байт вставляются. Похоже существует проблема в драйвере PostgreSQL под Windows.
[Sun Dec 15 08:23:21 2002] [error] [client 127.0.0.1]
[Sun Dec 15 08:23:21 2002] [error] [client 127.0.0.1] This application has requested the Runtime to terminate it in an unusual way.
[Sun Dec 15 08:23:21 2002] [error] [client 127.0.0.1] Please contact the application's support team for more information.
ERROR: parser: parse error at or near "\"Понимаю что дело в taint/untaint, но что то нифига не получается. Лежу в доку читаю что там написано:
Также Parser выполняет ряд автоматических untaint преобразований:Для вида sql написано следующее:
вид что преобразуется
sql тело SQL-запроса
table текст при создании таблицы или добавлении в нее записи
xml XML код при создании объекта класса xdoc
sql в зависимости от SQL серверат.е. насколько я понял для PostgreSQL символ \ должен в теле sql запроса автоматически меняться на \\ чтобы не было ошибок, но они есть. Я перепробовал такие варианты:
для Oracle/ODBC меняется ' на ''
для PgSQL меняется ' на '' и \ на \\
для MySQL делается средствами самого MySQL
^void:sql{ update ... set ... txt = '$form:txt' ... } ^void:sql{ update ... set ... txt = '^taint[as-is][$form:txt]' ... } ^void:sql{ update ... set ... txt = '^taint[sql][$form:txt]' ... } ^void:sql{ update ... set ... txt = '^untaint[as-is]{$form:txt}' ... } ^void:sql{ update ... set ... txt = '^untaint[sql]{$form:txt}' ... }Ни один не работает.