2016-01-06 3 views
0

Итак, у меня есть вход, где пользователи вводят свой код, а код PayPal более конкретный. И я всегда получаю эту ошибку при отправке кода в базу данных.Вставка кода в базу данных MySQL

"Not Acceptable! 
An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security." 

Так что я попытался обновить код через PhpMyAdmin, как это:

UPDATE store 
SET paypal = "codehere" 

И это не сработало, но когда я вошел в «» вместо «» он работает.

Так что мой вопрос в том, как я могу настроить код вставки так, чтобы он работал. Ниже приведен текущий код:

// Here I store the input value 
$paypal = $_GET['paypal']; 

if (!empty($paypal)) { 
    $sql2 = "UPDATE store 
     SET paypal = :paypal"; 
$stmt1 = $connection->prepare($sql2);         
$stmt1->bindParam(':paypal', $paypal, PDO::PARAM_STR);   
$stmt1->execute(); 
} 

Заранее благодарен! И дайте мне знать, если я не предоставил достаточную информацию.

+0

Это проблема конфигурации межсетевого экрана (mod_security). Ваш код PayPal, вероятно, напоминает номер социального страхования или номер кредитной карты. Взгляните на https://github.com/SpiderLabs/ModSecurity/wiki/ModSecurity-Frequently-Asked-Questions-(FAQ). В частности, * «Модель обнаружения экструзии - ModSecurity также может отслеживать исходящие данные и выявлять и блокировать раскрытие информации, такие как утечка подробных сообщений об ошибках или номеров социального страхования или номеров кредитных карт». * –

+7

плюс, как вы запрашиваете, это будет обновите весь свой db. используйте предложение 'where'. –

+0

Спасибо за ответы. В любом случае, без отключения mod_security? –

ответ

0

Вы можете попробовать отключить mod_security в файле .htaccess

<IfModule mod_security.c> 
    SecFilterEngine Off 
    SecFilterScanPOST Off 
</IfModule> 
0

Я установил его с помощью htmlentities($paypal) для запроса, а затем отменил его с помощью html_entity_decode($paypal).

Смежные вопросы