3

我正在开发一个网络,并希望使用户可以创建一些发布 XML 数据的东西。为此,<textarea>用户可以在其中编写(复制/粘贴)XML 并提交它。问题是我丢失了数据:诸如<,之类的字符>,我认为其他字符也会丢失。

也许这是一个框架问题,不确定,我正在使用 Elgg 并使用get_input().

UPDATE1:一些回答评论的代码:

<form method="POST" action="http://for.bar/slash" enctype="text/xml">
<input name="add" type="submit" value="Create"  />
</form> 

接收我使用的数据elgg get_input()

$data = get_input('data');
4

2 回答 2

1

如果我在哪里做一个疯狂的猜测,我会说 get_input() 使用了某种自动神奇的 xss 保护。您可以尝试做一个print_r($_POST);或者也许 elgg 也在“清理”所有 $_POST 。在这种情况下,您可能必须在提交请求之前使用 JavaScript 对数据进行 base64 编码。

于 2010-02-24T23:30:28.400 回答
0

根据 MDN,应该在表单enctype属性中使用的唯一标准值如下:

  • application/x-www-form-urlencoded
  • multipart/form-data
  • text/plain

话虽如此,您可能会遇到不可预知的情况,使其具有价值application/xml

来源: https ://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-enctype

于 2021-09-25T20:07:56.450 回答