我目前正在将DataTables.js与使用PHP编写的服务器站点数据源一起使用。
服务器端脚本完全按照数据表的要求给出数据:
{“ iTotalDisplayRecords”:“ 777”,“ sEcho”:0,“ aaData”:[[row1],[row2],[row3]]}
现在,我想添加一个附加的安全层,对来自服务器的响应进行加密,并在数据表收到响应后对其进行解密。
我需要这个,因为我注意到某些客户端通过HTTPS代理工作,并且某些行的内容被错误地阻止。
我正在使用this solution作为服务器端PHP脚本,以使用openssl_encrypt给出加密的内容。
然后在客户端,我有
function datatable_init (source) {
$.getJSON(source, function(data) {
decryptedContent = JSON.parse(CryptoJSAesDecrypt(“password”, data));
oTable = $(‘dtable’).dataTable({
“bProccesing”: false,
“bServerSide: true,
//“sAjaxSource”: source,
“data”: decryptedContent
...
});
我不得不将”sAjaxSource”
替换为”data”
,因为它现在是不同的数据源类型,因此需要不同类型的数据表JSON格式:
{数据:[[row1],[row2],[row3]}
我无法再通过iTotalDisplayRecords
。
有没有办法让我将服务器端的JSON格式继续提供给数据表,但又将其作为本地JS对象/数组提供?
PS 。我的另一个想法是对表的每一行进行加密/解密,但这可能会变得更加复杂和缓慢
答案 0 :(得分:1)
irb(main):001:0> puts Duvel.new
330 ml
=> nil
选项似乎很有帮助,因为它提供了修改通过ajax接收到的数据的可能性,因此允许您定义一个函数,该函数负责再次解密接收到的数据。在我看来,尤其是在reference page上给出的最后一个示例看起来很有希望。