Имейте файл конфигурации приложения использования log4net для данных конфигурации

MySQL: У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с ... at line ...

Эта ошибка часто возникает из-за того, что вы забыли правильно удалить данные, переданные в MySQL-запрос .

Пример того, что не делать («Плохая идея»):

$query = "UPDATE `posts` SET my_text='{$_POST['text']}' WHERE id={$_GET['id']}";
mysqli_query($db, $query);

Этот код может быть включен в страницу с формой для отправки с URL-адресом например http://example.com/edit.php?id=10 (для редактирования сообщения n ° 10)

Что произойдет, если представленный текст содержит одинарные кавычки ? $query закончится:

$query = "UPDATE `posts` SET my_text='I'm a PHP newbie' WHERE id=10';

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

Чтобы избежать таких ошибок, вы ДОЛЖНЫ всегда избегать данных перед использованием в запросе.

Экранирование данных перед использованием в SQL-запросе также очень важно, потому что если вы этого не сделаете, ваш скрипт будет быть открытым для инъекций SQL. SQL-инъекция может привести к изменению, потере или изменению записи, таблицы или всей базы данных. Это серьезная проблема безопасности!

Документация:

49
задан Philipp M 15 October 2013 в 04:52
поделиться

2 ответа

Добавьте, что строка к Вашему app.config в configSections элементе

<configSections>
 <section name="log4net" 
   type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0, 
         Culture=neutral, PublicKeyToken=1b44e1d426115821" />
</configSections>

Тогда позже добавляет раздел log4Net, но делегата в фактическом log4Net файле конфигурации в другом месте...

<log4net configSource="Config\Log4Net.config" />

В Вашем коде приложения, когда Вы создаете журнал, пишут

private static ILog GetLog(string logName)
{
    ILog log = LogManager.GetLogger(logName);
    return log;
}
38
ответ дан Charles Bretana 7 November 2019 в 11:46
поделиться

Вы попытались добавить configsection обработчик к Вашему app.config? например,

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
4
ответ дан KyleMit 7 November 2019 в 11:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: