Изменение приведенного ниже кода для устранения уязвимости SQL путем экранирования пользовательских данных, передаваемыхPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Изменение приведенного ниже кода для устранения уязвимости SQL путем экранирования пользовательских данных, передаваемых

Сообщение Гость »


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

Код: Выделить всё

    public static function sales_data_postback() {
if ( ! isset( $_REQUEST['sales_data'] ) )
return;

$data          = json_decode( stripslashes( $_POST['data'] ) );
$cart_contents = json_decode( stripslashes( $_POST['cart_contents'] ) );

//Unset purchase log ID, since we're inserting a new one.
$data = (array) $data;

unset( $data['id'] );

$purchase_log = wpsc_get_order( $data );
$purchase_log->save();
$purchase_log_id = $purchase_log->get( 'id' );

global $wpdb;

//We need to update the proper product ID, name and purchase ID
foreach ( $cart_contents as $cart_item ) {

$product = new WP_Query( array( 'post_type' => 'wpsc-product', 'pagename' =>     $cart_item->slug ) );
$product = $product->get_posts();
$product = $product[0];

$cart_item = ( array ) $cart_item;

unset( $cart_item['id'] );
unset( $cart_item['slug'] );

$cart_item['prodid']     = $product->ID;
$cart_item['name']       = $product->post_title;
$cart_item['purchaseid'] = $purchase_log_id;

$wpdb->insert( WPSC_TABLE_CART_CONTENTS, $cart_item );
}

die;
}
been looking at ways of safely escaping user data passed to sql queries.


Источник: https://stackoverflow.com/questions/781 ... -passed-to
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»