有人可以给我一份我需要注意的事情清单吗?到目前为止,我只听说过SQL注入和特殊字符。
还有什么,我需要采取哪些预防措施?更具体一点,我使用AJAX作为我的服务器端语言,MySQL作为我的数据库系统。
感谢。
答案 0 :(得分:1)
首先,与数据库交谈:
您需要使用阻止SQL injection attacks的机制将输入传递到数据库;最可靠的机制是在接受任何类型的用户提供的输入时始终使用parameterized queries。
其次,将数据返回给用户:
每当您从数据库中检索用户提供的数据并将其打印给用户时,您必须escape all HTML elements阻止用户向其他观看者注入CSRF,XSS或类似攻击
答案 1 :(得分:1)
用户将文本输入到字段中 - 我需要注意什么?
绝对没有!接受用户输入的任何和所有信息都没有问题。
问题在于您使用该输入执行的操作。一些想法:
SQL injection
。buffer overflows
。cross site scripting
。arbitrary command execution
。你知道,用户输入绝对不需要关心。相反,您需要确保不能将用户输入“注入”SQL,缓冲区,HTML或您在服务器上执行的命令。
此外,您需要确保用户输入实际符合后端的类型规范(即,人们可以轻松操作您的输入以将任何内容发送回服务器,这可能导致在后端生成异常)。最后,如果您将客户端请求链接到后端授权事务,用户可以经常操纵参数来欺骗他们的身份。
答案 2 :(得分:0)
我不知道这是否回答了您的问题,或者您是否正在寻找这种答案,但我通常将发布的变量传递给mysql_real_escape_string,它会逃避所有特殊字符并防止注入。