阻止用户以HTML格式关闭

时间:2013-09-07 05:05:12

标签: html forms textarea

我有一个包含textarea和提交按钮的Python CGI-Script输出的HTML页面。我想阻止用户搞乱textarea字段,例如提交恶意或任何其他可能破坏脚本的代码。该脚本看起来很简单:           

输入您的留言:

    

如何防止用户输入类似

的内容
innocent message.</textarea>randomcode

进入textarea,关闭textarea并传递脚本和提交?那么抓住用户在textarea中输入结束标签?

2 个答案:

答案 0 :(得分:0)

根据您的描述,以下是图纸:
假设您的服务器端技术是Python,它派生一个包含表单元素的HTML页面。

您希望阻止用户输入相应的结束标记;基本上限制用户输入非字母数字字符。

解决方案:让Python脚本派生一个javascript函数,因为它派生了HTML表单元素;类似的东西处理这个:

<script language="javascript">
function fnCheckAlphabets()
{
    if(!((event.keyCode>43 && event.keyCode<47)||(event.keyCode>64 && event.keyCode<123)|| event.keyCode==32 ))
    { return false;  }
}

并在textarea的事件处理程序或表单的onSubmit上调用它。

您可以更改符合您要求的密码代码。

其他方法是获取服务器端Python的值并清理这样的值: e.g。

user = form.getfirst("user", "").upper()    # This way it's safe.

而不是使用鞋面,您可以替换不需要的字符。

参考:http://docs.python.org/2/library/cgi.html

干杯!

答案 1 :(得分:0)

除非您要以导致其被解析为HTML的方式处理用户输入,否则无需捕获结束标记。如果你正在做这些事情,那么关闭标签会有更大的问题。

默认情况下,纯文本的Textarea输入,纯文本是你的CGI脚本得到的,所以这只是不弄乱它以便它被提供给HTML解析器。

特别是,如果您打算将用户数据显示为您自己页面的一部分,那么您当然应该以使浏览器将其视为纯文本的方式执行此操作 - 或者对其进行清理以便您只传递此类HTML您希望允许的标记,并将其他标记转换为纯文本或删除它们。