Я создаю веб-приложение, которое будет использовать много вызовов ajax. Приложение будет содержать личные данные пользователя. В Ajax вызовов переменные, используемые как Id, profile_id, message_id и т.д .. для завершения операции, как добавление сообщения в профили, получение соединений и т.д ..Какие данные следует шифровать для создания безопасного вызова ajax?
Я хочу, чтобы сделать звонки так безопасные, как Возможное. Я уже реализовал crsf
в звонках $.post
. Какие варибалы вызовов ajax должны/должны шифроваться, а какие нет?
Пример вызова Ajax (упрощенный):
function post_msg(profile_id, msg) {
var json_data = new Object();
json_data.profile_id = profile_id;
json_data.msg = msg;
var data_str = JSON.stringify(json_data);
$.post("/ajax/get_posts", { data: data_str, csrf_key: "950egg22b771xxxxxxxxxxxxxxxx1a"}, func_that_does_something_with_ret_data);
}
//Some where else in the front-end
$('#button').click(function() {
var msg = $('#input').value();
post_msg(1, msg); //should I encrypt the id?
});
Невозможно защитить данные. Все, что вы пишете на JavaScript, можно легко изменить. –
@RobW. В JS можно реализовать шифрование с открытым ключом, которое не было бы обратимым без закрытого ключа, но есть так много других векторов атаки, что было бы не очень полезно это сделать. – Quentin
Вы подключаетесь к хосту через HTTP или HTTPS? Если вы используете HTTPS, тогда я не думаю, что вам нужна другая форма шифрования. HTTPS должен быть в порядке, как есть. Если вы используете только HTTP, то, возможно, сначала попробуйте переключиться на HTTPS? Это даст вам гораздо больше, чем любая другая форма пользовательского шифрования. – Zuljin