Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将列名作为json对象属性公开是否存在安全风险?_Php_Mysql_Json_Pdo - Fatal编程技术网

Php 将列名作为json对象属性公开是否存在安全风险?

Php 将列名作为json对象属性公开是否存在安全风险?,php,mysql,json,pdo,Php,Mysql,Json,Pdo,如果我不给每个列名加别名,那么使用fech-assoc将json编码的mysql数据集传递给javascript可以公开表列名。所以问题是,将列名作为json对象属性公开是否存在安全风险 我一直在使用PDO准备的声明。我认为这是一个安全问题,而不是一个安全风险。就其本身而言,它并没有做坏事。但是如果存在真正的安全风险,例如注入攻击,if可以帮助攻击者。我认为这是一个安全问题,而不是一个安全风险。就其本身而言,它并没有做坏事。但是如果存在真正的安全风险,例如注入攻击,if可以帮助攻击者。单独暴露列

如果我不给每个列名加别名,那么使用fech-assoc将json编码的mysql数据集传递给javascript可以公开表列名。所以问题是,将列名作为json对象属性公开是否存在安全风险


我一直在使用PDO准备的声明。

我认为这是一个安全问题,而不是一个安全风险。就其本身而言,它并没有做坏事。但是如果存在真正的安全风险,例如注入攻击,if可以帮助攻击者。

我认为这是一个安全问题,而不是一个安全风险。就其本身而言,它并没有做坏事。但是如果存在真正的安全风险,例如注入攻击,if可以帮助攻击者。

单独暴露列标识符不应该是高安全风险。安全问题是,如果您允许SQL注入攻击,即使在您的应用程序中只有一种情况,也可能有人利用有关列名的知识来加速发现如何编写非法查询

但他们无论如何都可以找到列,因为如果他们可以通过SQL注入运行任意SQL,他们就可以查询您的信息和模式,并找到他们需要的任何东西


如果您确信查询执行是安全的,那么您应该不会有问题。

单独暴露列标识符不应该是一个高安全风险。安全问题是,如果您允许SQL注入攻击,即使在您的应用程序中只有一种情况,也可能有人利用有关列名的知识来加速发现如何编写非法查询

但他们无论如何都可以找到列,因为如果他们可以通过SQL注入运行任意SQL,他们就可以查询您的信息和模式,并找到他们需要的任何东西


如果您确信您的查询执行是安全的,那么您应该没事。

Hm。。。我倾向于选择“是”,这可能是一个因素。他们知道的越少越好。你可以使用别名。等待其他答案。因此公开列名()没有问题。如果你有安全的输入和网络托管,我认为没有必要高度屏蔽你的列名。@Mr.Smith:或者他们希望你这么想,bwa hah hah hah…一切都是可能的:)。嗯。。。我倾向于选择“是”,这可能是一个因素。他们知道的越少越好。你可以使用别名。等待其他答案。因此公开列名()没有问题。如果你有安全的输入和网络托管,我认为没有必要高度屏蔽你的列名。@Mr.Smith:或者他们希望你这么想,bwa hah hah…一切都是可能的:)。