我写了一个脚本,当你输入一个文本框时,它会打开一个不可见的iframe到一个.php文件,其中$ _GET是他们写入文本框的内容。
但是,例如,如果我输入:'< 3',就会发生这种情况。
PHP确定$ _GET [s]是空白的!用户无法输入简单的< 3符号而不会出现该错误。
另一个问题是引号,如果我写任何引号,它将结束整个SRC属性。
我该怎么办?我应该用javascript,甚至PHP做点什么吗?请让我知道!
谢谢!
答案 0 :(得分:1)
使用urlencode将输入的字符串编码为有效的字符串以供URL使用。
当允许用户通过URL输入PHP脚本时,也非常谨慎。确保进行适当的检查/清理,尤其是涉及数据库操作时。
答案 1 :(得分:0)
您需要将该字符编码为<
。
答案 2 :(得分:0)
关于双引号,你可以使用这个技巧。
attr='Your string can "contain double quotes"'
或
attr="Your string can 'contain double quotes'"
但在url中指定variable=values
时,您不需要使用双引号,也可以直接指定值。
像
url="test.php?var1=123&var2=345"
如果要发送&lt; 3个字符,您可以在javascript&amp;中检查网址编码。 PHP以适用者为准!
答案 3 :(得分:0)
看起来你的iframe是由JavaScript生成的,所以包含PHP函数的所有答案都是无用的。数据甚至没有到达PHP,那么任何PHP函数如何能够提供帮助呢?
相反,请尝试使用urlencode
from PHPJS,因为JS的所有函数都不能很好地处理所有情况,这使您可以轻松地使用PHP的urldecode
来检索数据。