Php 为什么要对POST进行消毒并获得

Php 为什么要对POST进行消毒并获得,php,mysql,sql-drop,Php,Mysql,Sql Drop,我有一个问题……我知道你必须对帖子进行消毒,并阻止人们对你的网站/DB做令人讨厌的事情,但我很困惑……我在一个网站上看到了以下内容,我想我会问这个问题 哈克先生怎么会知道要放下的桌子叫学生呢?在这种情况下,作为一所学校,可能不需要太多的锻炼,但我认为这类东西的代码在php文件中运行时隐藏在视图中……因此,如果我命名我的表使事情变得模糊,那么攻击如何知道表名要删除?是的,它是隐藏的,但是如果你有这样的漏洞,你可以执行任何你想要的查询,包括SHOW TABLES和SHOW COLUMNS..是的,

我有一个问题……我知道你必须对帖子进行消毒,并阻止人们对你的网站/DB做令人讨厌的事情,但我很困惑……我在一个网站上看到了以下内容,我想我会问这个问题


哈克先生怎么会知道要放下的桌子叫学生呢?在这种情况下,作为一所学校,可能不需要太多的锻炼,但我认为这类东西的代码在php文件中运行时隐藏在视图中……因此,如果我命名我的表使事情变得模糊,那么攻击如何知道表名要删除?

是的,它是隐藏的,但是如果你有这样的漏洞,你可以执行任何你想要的查询,包括
SHOW TABLES
SHOW COLUMNS..

是的,它是隐藏的,但是如果你有这样的漏洞,你可以执行任何你想要的查询,包括
SHOW TABLES
SHOW COLUMNS..

经验法则是安全总比后悔好!如前所述,攻击者可以输出数据的内容,或者根据图片将其删除。尽管PHP代码隐藏在视图之外,但在某些情况下可能并非如此,例如一些错误输出或说PHP模块出于任何原因被卸载,那么源代码就会变得可见。

经验法则是,安全总比抱歉好!如前所述,攻击者可以输出数据的内容,或者根据图片将其删除。尽管PHP代码隐藏在视图之外,但在某些情况下可能并非如此,例如一些错误输出或说PHP模块出于任何原因被卸载,源代码将变得可见。

也许这并不能回答问题,但我想澄清一下:每个人都在谈论“消毒”用户输入仅用于避免表丢失、数据库破坏和其他灾难

我没有看到有人告诉我,消毒是为了保护您的查询。不是来自黑客,不是来自魔鬼,只是为了那个叫O'Reilly的可怜的家伙,或者任何其他用户提供的包含引号的数据

那句话可能会打断你的提问,句号。停止你设计的精彩网络应用。这不是恶意的


因此,请清理您的查询以避免它们被破坏。这样做的同时,您还可以防止恶意破坏,这本身就是一个类别。查询是字符串,由引号分隔,插入的引号只是在字符串不应该结束的地方结束字符串,而您的db调用错误就出现了。

也许这并不能回答问题,但我想做一个精确的说明:每个人谈论“清理”用户输入只是为了避免表丢失、数据库破坏和其他灾难

我没有看到有人告诉我,消毒是为了保护您的查询。不是来自黑客,不是来自魔鬼,只是为了那个叫O'Reilly的可怜的家伙,或者任何其他用户提供的包含引号的数据

那句话可能会打断你的提问,句号。停止你设计的精彩网络应用。这不是恶意的


因此,请清理您的查询以避免它们被破坏。这样做的同时,您还可以防止恶意破坏,这本身就是一个类别。查询是字符串,由引号分隔,插入的引号只是在字符串不应该结束的地方结束字符串,数据库调用错误。

来自信息模式!请参阅来自信息\u模式!看啊,我明白了,转义您的帖子和Get stop show表/列是否正常工作?否,因为此漏洞正在转义MySQL查询的输入。你不应该逃避你的帖子数据,你应该检查它并确认它看起来像你想要的东西。转义是指对MySQL的输入或任何产生字符串的操作way@IainSimpson如果您正在使用MySQLi或PDO,那么应该停止使用(出于不推荐的充分理由)
mysql\u*
API,并开始在准备好的语句/参数化查询中使用MySQLi或PDO。无需转义,更快速的数据库访问是一个额外的好处。啊,我明白了,转义帖子并停止显示表/列是否正常工作?不,因为此漏洞正在转义MySQL查询的输入。你不应该逃避你的帖子数据,你应该检查它并确认它看起来像你想要的东西。转义是指对MySQL的输入或任何产生字符串的操作way@IainSimpson如果您正在使用MySQLi或PDO,那么应该停止使用(出于不推荐的充分理由)
mysql\u*
API,并开始在准备好的语句/参数化查询中使用MySQLi或PDO。无需转义,更快速的数据库访问是一个额外的好处。转义应该是实际操作方式。无论何时从一种语言转换到另一种语言(如SQL之类的DSL)或生成某种输出,如JSON、XML,甚至HTML,都应该进行转义。啊,我现在明白你的意思了,我从来没有想到带撇号的名称会引起问题。转义应该是实际操作方式。每当你从一种语言转换到另一种语言(比如像SQL这样的DSL)或者生成某种输出,比如JSON、XML,是的,甚至HTML,你都应该逃避。啊,我现在明白你的意思了,我从来没有想到带撇号的名称会引起问题。