在处理数据库查询时如何模糊JSON响应?

时间:2012-11-03 21:16:26

标签: php jquery json codeigniter

[
 {
  "businesscards_id":"12",
  "X_SIZE":"1.75x3",
  "X_PAPER":"14ptGlossCoatedCoverwithUV(C2S)",
  "X_COLOR":"1002",
  "X_QTY":"250",
  "O_RC":"NO",
  "F_PRICE":"12490",
  "UPS_GROUND":"12000",
  "UPS_TWODAY":"24000",
  "UPS_OVERNIGHT":"36000"
 }
]

这个JSON编码响应可以在Chrome的控制台中看到。此数组是从数据库查询返回的。它显示了我的表列名称。出于安全原因,我不想显示我的表列名称。 如何对此JSON对象进行模糊处理或散列和/或编码或动态重写以使我的表名称保密?

3 个答案:

答案 0 :(得分:5)

不要对你的JSON做任何事情。

如果您不希望列名可见,请不要使用列名。使用新密钥创建一个新数组以使用JSON发送,然后将该数组更改回包含列名的数组。

但人们看到它们确实应该不是问题。没有人可以访问您的数据库,因此让人们看到列名称不是问题。

答案 1 :(得分:1)

这实际上取决于您希望在收到记录后如何使用该记录。一种策略可能是仅返回值的数组,丢弃键。然后在您的代码中,使用您处理记录时所需的数组值的私人知识。类似的东西:

var result=[];
Object.keys(record).forEach(function(key){result.push(record[key]);});

然后在您的代码中,使用数组索引来访问值。

答案 2 :(得分:1)

SQL语句:

SELECT `col_name` AS 'something_else'

但是,正如其他人所说,不要为了安全而这样做。这毫无意义。