加密URL Coldfusion和JQuery数据表
Stack Overflow用户,
我有一个服务器端JQuery Datatable,我正在尝试加密记录ID。 我已经在CFLOOP中的基本数据表上使用了这种方法,但我无法在JavaScript中完成。
以下是我目前的代码。
{ "targets": 1, "data": "LAST_NAME", "render": function ( data, type, row, meta ) {return ''+ data+'';}, },
当我解密url时,它会显示+ data + 。 当我更改它以使用L vairble时,我得到正确的ID号但它没有加密
{return ''+ data+'';}
我知道它与使用CFSCRIPT有关,但我不清楚如何使用它。 任何帮助都会很棒。
虽然有很多方法可以加密url,但我发现在我的情况下,最好的方法是在JavaScript切换之前拦截JSON请求中的EMPLOYEE_ID。
从上面的示例中可以看出,在将Employee_ID传递给JSON响应之前,会对其进行修改。 成功加密员工ID并创建更安全的URL。
如果您尝试从ColdFusion加密JavaScript变量,那是不可能的。 ColdFusion是一种服务器端语言。 它无法访问JavaScript代码和/或变量,反之亦然。 在将任何数据发送到客户端之前,必须在服务器端完成对ColdFusion的任何加密。
虽然你可以使用cfscript,有些人甚至更喜欢它,但从技术上讲你并不“必须”。 循环虽然查询和加密值可以使用CFML或cfscript完成。
TryCF.com示例
CFSCRIPT
// simulate query data myKey = generateSecretKey("AES"); qry = queryNew("l_id,last_name" , "integer,varchar" , [ {l_id=1, last_name="Johnson"} , {l_id=2, last_name="Carson"} , {l_id=3, last_name="Jackson"} ] ); // encrypt query values for (row in qry) { qry.l_id[qry.currentRow] = encrypt(row.l_id, myKey,"AES/CBC/PKCS5Padding", "HEX"); } writeDump(var=qry, label="Query (After)");
CFML