Я сохраняю параметры в моей базе данных. Строка JSON возвращается из Ajax вызова, и я дезинфицировать его, какСохранение строки в базе данных в WordPress
$my_settings = wp_json_encode(sanitize_text_field(wp_unslash($_POST['data'])));
Когда я сохранить его с update_option
этом будет сохранен в базе данных как
"{ \"0\": { \"settings\": { \"default\": \"0\", \"header_main_title\": \"\",...
Теперь, если я только сделать это
$my_settings = sanitize_text_field(wp_unslash($_POST['data']));
запись в базе данных будет
{ "0": { "settings": { "default": "0", "header_main_title": "",...
Вторая версия все еще может быть декодирована с использованием json_decode
, так как это все-таки строка JSON и не имеет сокращенных двойных кавычек.
Дело в том, что меня беспокоит это:
- Является ли это безопасно?
- Могут ли повлиять на это магические кавычки?
- Должен ли я использовать первый или второй способ?
Если вы используете 'update_option', чтобы сохранить возможность это безопасно в любом случае. –
Это? Из-за 'sanitize_option'? –