Javascript 使用Coldfusion加密Datatable服务器端响应

Javascript 使用Coldfusion加密Datatable服务器端响应,javascript,encryption,hash,coldfusion,Javascript,Encryption,Hash,Coldfusion,有人能告诉我如何用Coldfusion加密XHR响应吗?我有一些在CFC中使用Datatable、BootstrapTable和服务器端函数创建的表。问题是我得到的JSON没有加密,所以任何人都可以看到列名和其他敏感信息。因为我对Coldfusion和JS没有太多经验,所以我找不到一个很好的实现。加密函数比散列函数好吗?对于登录部分,我使用salt SHA-512系统创建了一个哈希系统。但是我找不到在CFC中加密JSON并在前端用JS或CF解密的方法。我使用Coldfusion 9 Enterp

有人能告诉我如何用Coldfusion加密XHR响应吗?我有一些在CFC中使用Datatable、BootstrapTable和服务器端函数创建的表。问题是我得到的JSON没有加密,所以任何人都可以看到列名和其他敏感信息。因为我对Coldfusion和JS没有太多经验,所以我找不到一个很好的实现。加密函数比散列函数好吗?对于登录部分,我使用salt SHA-512系统创建了一个哈希系统。但是我找不到在CFC中加密JSON并在前端用JS或CF解密的方法。我使用Coldfusion 9 Enterprise。任何建议都是有用的

是否仍要加密将在HTML中显示的数据?就@AlexBaban而言,这没什么好担心的。如果您想“隐藏”实际的数据库列名,只需使用别名选择它们:
选择tableID作为coully\u not\u my\u pk\u column

您应该只重新调整与登录用户的角色或权限相关的数据。不应返回任何不允许他们看到的“敏感信息”

更新:

例如,如果我为2列启用排序,并且在尝试对其中一列进行排序时设置了不同的名称,因为再次执行查询以显示新的数据集,则它需要列的名称,否则它将中断


您如何处理提交的数据?如果您提交给一个带有参数的函数,您可以进行数据类型验证、数据需求验证,并抽象出网格控件和数据库之间的通信。如果函数参数是
sort\u column
,则在查询中传递网格的排序控制值并处理将“别名”映射到列的真实名称的操作

是否仍要加密将在HTML中显示的数据?就@AlexBaban而言,这没什么好担心的。如果您想“隐藏”实际的数据库列名,只需使用别名选择它们:
选择tableID作为coully\u not\u my\u pk\u column

您应该只重新调整与登录用户的角色或权限相关的数据。不应返回任何不允许他们看到的“敏感信息”

更新:

例如,如果我为2列启用排序,并且在尝试对其中一列进行排序时设置了不同的名称,因为再次执行查询以显示新的数据集,则它需要列的名称,否则它将中断


您如何处理提交的数据?如果您提交给一个带有参数的函数,您可以进行数据类型验证、数据需求验证,并抽象出网格控件和数据库之间的通信。如果函数参数是
sort\u column
,则在查询中传递网格的排序控制值并处理将“别名”映射到列的真实名称的操作

你不是在使用https吗?@JamesAMohler是的,我使用https..但是XHR响应可以被看作是一个json响应,所以任何用户都可以看到该响应。因为你必须在前端用JS解密并使用这些值来呈现东西,解密后,任何人都可以看到列名。你不是在使用
https
?@JamesAMohler是的,我使用https..但XHR响应可以被视为json响应,因此任何用户都可以看到该响应。因为你必须在前端使用JS解密并使用这些值来呈现内容,解密后,任何人都可以看到列名。是的,你是对的,但是datatable和其他JS驱动的插件需要数据库中列的实际名称,这样你就可以搜索这些列。例如,如果我为2列启用排序,并且我在尝试对其中一列进行排序时设置了不同的名称,因为再次执行查询以显示新的数据集,它需要列的名称,否则它将中断。此外,在JS代码中,我有很多规则,因此我可以显示一些数据,我更愿意隐藏这些规则。我知道有一些方法,例如cryptojs或编码代码。但是我更喜欢一些建议如果列名被发送回前端Javascript,那么加密它们对您没有任何好处。不管谁使用这些数据,都可以看到它。如果它是视图/只读数据,请考虑使用SQL视图并建立查询。然后,您可以为所有列添加别名,并能够对别名进行搜索/排序。是的,您是对的,但datatable和其他JS驱动的附加组件需要数据库中列的实际名称,以便您可以搜索这些列。例如,如果我为2列启用排序,并且我在尝试对其中一列进行排序时设置了不同的名称,因为再次执行查询以显示新的数据集,它需要列的名称,否则它将中断。此外,在JS代码中,我有很多规则,因此我可以显示一些数据,我更愿意隐藏这些规则。我知道有一些方法,例如cryptojs或编码代码。但是我更喜欢一些建议如果列名被发送回前端Javascript,那么加密它们对您没有任何好处。不管谁使用这些数据,都可以看到它。如果它是视图/只读数据,请考虑使用SQL视图并建立查询。然后,您可以为所有列设置别名,并能够对别名进行搜索/排序。