我还是PHP中字符串处理的新手。下面是我目前正在做的事情的图表。最终,我想在下面的场景中获得处理字符串的通用方法。请注意,在这种情况下,文本往往是很多数学符号和代码语法。PHP和Ajax字符串输入/输出处理场景
字符串和整数通过标准的基于HTML的表单输入(我忘了在图中提及)。
步骤A当前使用:mysql_real_escape_string(input);
步骤B当前使用:
没有为$string1
htmlentities($string2)
问题:
- 关于MySQL注入,mysql_real_escape_string是否足以防范这种情况?
- 我仍然需要完成处理String1的输出。请注意文本在两个不同的位置实际使用的方式:HTML 和画布。步骤B中的htmlentities将使代码语法在HTML5 Canvas中正确显示,但不在HTML中显示。反之亦然(HTML语法打破了页面)。是否有一个与PHP的htmlentities相同的JavaScript函数?
- int形式应该被验证以确保它是一个int。
- 当我使用这个字符(' - ')时,String2向HTML输出“null”,这是而不是标准减号字符(' - ')。
- Magic Quotes已关闭。但是,如果我在启用它的服务器上运行该脚本,则需要一个简短的脚本:IF(启用魔术引号){关闭魔术引号}。
- 我在表单验证方面忘了什么?
如果我的方法是完全错误的,那就直接给我一下,帮助我彻底解决这个问题。如果您认为有帮助,您可以用A,B,C,D和E来描述您的解决方案。提前致谢。
1)保持串“原始”内部。 2)为了适当的使用,准确地逃离琴弦。另见[see here](http://stackoverflow.com/questions/6475225/how-to-cleanse-a-string-to-avoid-sql-injection-and-the-most-common-types-of-attac/ 6475262#6475262)。 –