PHP MySQL-消毒和验证建议

PHP MySQL-消毒和验证建议,php,mysql,validation,escaping,sanitization,Php,Mysql,Validation,Escaping,Sanitization,我刚刚发现PHPs清理和验证过滤器,我一直在使用MySQL的MySQL_escape_字符串来停止SQL注入 现在,我发现PHP也有帮助,我猜从逻辑上讲,这些过程在功能上并不是唯一的:也就是说,您可以在PHP中进行清理和验证,但仍然会遇到需要转义的情况 我是对的还是忽略了什么?我建议您使用数据库扩展提供的适当的编码感知功能或方法,对插入到查询中的每一位数据进行转义。对于mysql\uu这将是(不要忘记real\u部分!) 理由很简单:代码会进化。对某个值的限制被放宽,这可能经常发生。假设您以前只

我刚刚发现PHPs清理和验证过滤器,我一直在使用MySQL的MySQL_escape_字符串来停止SQL注入

现在,我发现PHP也有帮助,我猜从逻辑上讲,这些过程在功能上并不是唯一的:也就是说,您可以在PHP中进行清理和验证,但仍然会遇到需要转义的情况


我是对的还是忽略了什么?

我建议您使用数据库扩展提供的适当的编码感知功能或方法,对插入到查询中的每一位数据进行转义。对于
mysql\uu
这将是(不要忘记
real\u
部分!)


理由很简单:代码会进化。对某个值的限制被放宽,这可能经常发生。假设您以前只允许名称使用字母数字字符,而现在希望允许所有Unicode字符。因此,现在允许在两个名称中使用
。但很遗憾,您的代码中没有
mysql\u real\u escape\u string
,因为您认为名称是安全的。好吧,现在已经太晚了,私人用户数据已经被读取,现在在黑市上流通…

我建议您使用数据库扩展提供的适当的编码感知功能或方法,对插入到查询中的每一位数据进行转义。对于
mysql\uu
这将是(不要忘记
real\u
部分!)

理由很简单:代码会进化。对某个值的限制被放宽,这可能经常发生。假设您以前只允许名称使用字母数字字符,而现在希望允许所有Unicode字符。因此,现在允许在两个名称中使用
。但很遗憾,您的代码中没有
mysql\u real\u escape\u string
,因为您认为名称是安全的。好吧,现在已经太晚了,私人用户数据被读取,现在在黑市上流通

我是对的还是我忽略了什么

不,你完全正确。大字体输入,为偶然的读者,可能会不知何故错过你的问题的重点

不同类型的输出需要不同类型的保护。 核武器的东西,可以是HTML,你会对XSS更安全。正确地引用和转义数据库输入,您将更安全地防止SQL注入。注意所有地方的意外输入,这样可以提高代码的安全性

你现在完全意识到这一点,这是一件美妙的事情。太多的人不喜欢

我刚刚发现PHP可以对过滤器进行消毒和验证

这些很好,不是吗?它们是现代PHP的重要组成部分。虔诚地使用它们,它们不会让你失望。除了电子邮件,它失败了大量的边缘的情况;我更喜欢

我一直在使用MySQL的MySQL_escape_字符串来停止SQL注入

这是。。。不是现代PHP的好组成部分。我还希望您正在使用带有单词“real”的转义字符串函数,否则您可能会遇到麻烦

我想你已经为下一步做好了准备:。它有,当您正确使用它时,它将为您提供免费和完整的SQL注入保护。PDO在现代PHP版本可用的任何地方都可用。它是内置的。使用它,学习它,热爱它。否则你就注定了。命中注定

我是对的还是我忽略了什么

不,你完全正确。大字体输入,为偶然的读者,可能会不知何故错过你的问题的重点

不同类型的输出需要不同类型的保护。 核武器的东西,可以是HTML,你会对XSS更安全。正确地引用和转义数据库输入,您将更安全地防止SQL注入。注意所有地方的意外输入,这样可以提高代码的安全性

你现在完全意识到这一点,这是一件美妙的事情。太多的人不喜欢

我刚刚发现PHP可以对过滤器进行消毒和验证

这些很好,不是吗?它们是现代PHP的重要组成部分。虔诚地使用它们,它们不会让你失望。除了电子邮件,它失败了大量的边缘的情况;我更喜欢

我一直在使用MySQL的MySQL_escape_字符串来停止SQL注入

这是。。。不是现代PHP的好组成部分。我还希望您正在使用带有单词“real”的转义字符串函数,否则您可能会遇到麻烦


我想你已经为下一步做好了准备:。它有,当您正确使用它时,它将为您提供免费和完整的SQL注入保护。PDO在现代PHP版本可用的任何地方都可用。它是内置的。使用它,学习它,热爱它。否则你就注定了。命中注定

在这里和互联网上有大量的资源可以用来解决这个问题。除非你有一个具体的例子,否则我不希望这个问题持续太久。在这里和互联网上有大量的资源来解决这个问题。除非你有一个具体的例子,否则我不会期望这个问题持续太久。感谢你的特殊和非常周到的回答,我一直在阅读(和观察)很多关于危险的内容,并试图理解我如何打破自己的形式。有大量的信息,但没有多少内容。这就是为什么这个答案如此好的原因。谢谢你的这一特殊且非常周到的回答,我一直在阅读(和观察)很多关于危险的信息,并试图理解我如何打破自己的状态。有大量的信息,但没有多少内容。这就是为什么这个答案这么好。