当ajax函数成功时,我想重定向页面。但是,我想重定向的链接参数将使用php加密函数进行加密。
我的代码是这样写的。
$.ajax({
url: '<?php echo base_url('sistem/check'); ?>',
type: 'POST',
data: {
code: code,
id: id
},
cache: false,
success: function (data, textStatus, jqXHR) {
console.log(textStatus + ": " + jqXHR.status);
console.log(data);
var y = JSON.parse(data);
var x = y.data.id;
console.log(y.data.id)
if (y.status !== 0){
window.location.href = "<?php echo base_url('sistem/detail/'.encryption('x').''); ?>";
}else{
$('.response').html(y.message);
}
},
error:(e) =>{
console.log(e.responseText);
}
});但是像这样编写使php加密字符串x,而不是变量x。
同时,如果我删除引号,这将使此代码成为错误。
发布于 2021-01-15 04:15:12
JavaScript在浏览器中运行,您不能将JavaScript变量传递给PHP进行加密,因为PHP运行在服务器上。在PHP代码中,创建数据id的加密版本并将其发送回客户端。
例如(在PHP中):
$data->encryptedId = encrypted($data->id);你可以像这样更新你的JavaScript:
window.location.href = "sistem/detail/" + y.data.encryptedId;这种加密方法不安全。您只能将加密的id从服务器发送到客户端和/或使用HTTPS,但即使这样,如果有人获得URL,数据也是可以访问的。
https://stackoverflow.com/questions/65730141
复制相似问题