Ich habe verschiedene Themen darüber gelesen und verschiedene Leute haben unterschiedliche Ansichten über die besten Praktiken.
Wie schreibe ich in Bezug auf WordPress Daten am sichersten in die Datenbank?
Dies ist eine Beilage, die ich jetzt verwende:
$result = $wpdb->insert(
$table_name ,
array(
'arena' => $galleryData['arena'],
'year' => substr( $galleryData['season'], 2 ),
'copyright' => $galleryData['copyright'],
'description' => $galleryData['description'],
'path' => $galleryData['path'],
'fk_brand_id' => $galleryData['brand']
),
array( '%s', '%d', '%s', '%s', '%s', '%d' )
);
Eine andere Möglichkeit zum Einfügen von Daten besteht darin, Folgendes zu tun:
$sanitized_sql = $wpdb->prepare( "
INSERT INTO my_plugin_table
SET
field1 = %1$d,
field2 = %2$s,
field3 = %3$s’,
32,
'Aaron Brazell',
'Washington, D.C'
" );
$wpdb->query( $sanitized_sql );
Muss ich Daten noch mit wp_kses()
oder bereinigen mysql_real_escape_string()
?
Ich bin nur verwirrt darüber, welche Methode besser ist, um Daten sicher in die Datenbank zu schreiben. Ich habe eine hilfreiche Antwort zu Stack Overflow gefunden .
Soll ich also Daten vor der Eingabe bereinigen oder nicht?
quelle
wp_kses
vor dem Speichern von Daten in der Datenbank zu verwenden? Oder irgendein anderer Filter, der hier gefunden wurde? codex.wordpress.org/Data_ValidationBeachten Sie, dass sich das sichere Speichern von Daten von sicheren Daten unterscheidet . Zum Beispiel kann JavaScript-Code im Kontext der Datenbanksicherheit völlig harmlos sein, im Kontext des Frontends jedoch ein Albtraum.
Es gibt keinen pauschalen Ansatz, deshalb verfügt WordPress über eine Vielzahl verwandter Funktionen .
Sie müssen berücksichtigen:
quelle
->prepare()
und dergleichen) und in die Anzeige (esc_
und dergleichen) gelangen.