我写了一个脚本,当你输入一个文本框时,它将打开一个隐藏的iframe到一个.php文件中,并在$ _GET中写入到文本框中。但是,例如,如果我在其中键入:'< 3',则会发生这种情况。
PHP determins了$ _GET [s]是一片空白!用户不能把一个简单的符号,而不会得到这个错误。
另一个问题是引号,如果我写任何引号,它会结束整个SRC属性。
我应该怎么办?我应该用JavaScript还是PHP做些什么?请告诉我!
谢谢!
我写了一个脚本,当你输入一个文本框时,它将打开一个隐藏的iframe到一个.php文件中,并在$ _GET中写入到文本框中。但是,例如,如果我在其中键入:'< 3',则会发生这种情况。
PHP determins了$ _GET [s]是一片空白!用户不能把一个简单的符号,而不会得到这个错误。
另一个问题是引号,如果我写任何引号,它会结束整个SRC属性。
我应该怎么办?我应该用JavaScript还是PHP做些什么?请告诉我!
谢谢!
它看起来像您的iframe是由JavaScript生成的,所以所有包含PHP函数的答案都是无用的。数据甚至没有达到PHP,所以任何PHP函数希望如何帮助?
相反,请尝试使用urlencode
from PHPJS,因为没有一个JS的函数能够真正处理所有情况,并且这使得您可以轻松使用PHP的urldecode
来检索数据。
使用urlencode将输入的字符串编码为有效URL以供URL使用。
也是非常谨慎当允许用户输入到您的PHP脚本通过URL。确保你做了适当的检查/消毒,特别是涉及数据库操作时。
您需要将该字符编码为<
。
关于双引号,你可以使用这个技巧。
attr='Your string can "contain double quotes"'
或
attr="Your string can 'contain double quotes'"
但同时指定在URL variable=values
,你并不需要用户双引号,您可以直接分配的值。
像
url="test.php?var1=123&var2=345"
其余约发送< 3个字符,你可以在javascript & PHP取其适用检查URL编码!
您没有向我们显示任何代码。一般来说,在从PHP返回用户提交的数据之前,您应该在其上调用'htmlspecialchars'。 – Jon 2012-02-22 08:26:41
你试过编码文本吗? – spicavigo 2012-02-22 08:26:48