Php 在POST请求中接受原始HTML

Php 在POST请求中接受原始HTML,php,html,api,http,Php,Html,Api,Http,我正在构建一个API,我有一个方法可以接受带有几个参数的POST请求 其中一个参数是HTML代码。用户可以传递整个HTML页面,我应该如何接受 要求用户对其进行base64_编码可以吗?还是有更好的办法 我担心解析无效字符和不同字符编码等问题。您真的希望用户使用base64对HTML进行编码:) 这是不可行的 只需放置一个标签并接受HTML即可。小心XSS和其他恶意人员您确实希望用户使用base64编码他们的HTML(?:) 这是不可行的 只需放置一个标签并接受HTML即可。小心XSS和其他恶意

我正在构建一个API,我有一个方法可以接受带有几个参数的POST请求

其中一个参数是HTML代码。用户可以传递整个HTML页面,我应该如何接受

要求用户对其进行base64_编码可以吗?还是有更好的办法


我担心解析无效字符和不同字符编码等问题。

您真的希望用户使用
base64对HTML进行编码:)
这是不可行的


只需放置一个标签并接受HTML即可。小心XSS和其他恶意人员

您确实希望用户使用
base64编码他们的HTML(
?:)
这是不可行的


只需放置一个标签并接受HTML即可。小心XSS和其他恶意员工

耶!我认为使用base_64编码作为输入会更明智。因为当用户在以后直接传入API时,HTML很容易被注入,并且在处理字符串、引号、特殊字符等时会变得很糟糕

若否,


规则可能类似于您可以在API中创建另一个方法,该方法将html字符串包装为
encode(“…”)
;这样,您就可以期望编码的字符串始终存在,并对其进行解码以进一步使用。

是的!我认为使用base_64编码作为输入会更明智。因为当用户在以后直接传入API时,HTML很容易被注入,并且在处理字符串、引号、特殊字符等时会变得很糟糕

若否,



规则可能类似于您可以在API中创建另一个方法,该方法将html字符串包装为
encode(“…”)
;通过这种方式,您希望编码的字符串始终存在,并对其进行解码以供进一步使用。

如果html代码中有一个与符号,这将不会影响我的POST请求,该怎么办?@Abs:no。。。。。。。。在stackoverflow(和任何其他网站)上,您在没有任何base64编码的情况下放置了符号:)您是指stackoverflow API吗:-没有任何提交任何内容的post请求或创建请求?@abs:我不明白您的意思。我告诉你,符号和其他东西没有任何问题。所以不要担心。对于一篇普通的帖子,值已经是url编码或mime编码的,所以通常应该使用转义这些值的机制,但通常会集成到库中来完成帖子(即:它要么由用户端的代码自动处理,要么由从头开始构建HTTP库的人自动处理,并且应该知道如何转义它,您无需执行任何操作)。如果您明确需要原始输入,您只需使用“file\u get\u contents(”php://input")如果html代码中有一个符号。我告诉你,符号和其他东西没有任何问题。所以不要担心。对于一篇普通的帖子,值已经是url编码或mime编码的,所以通常应该使用转义这些值的机制,但通常会集成到库中来完成帖子(即:它要么由用户端的代码自动处理,要么由从头开始构建HTTP库的人自动处理,并且应该知道如何转义它,您无需执行任何操作)。如果您明确需要原始输入,您只需使用“file\u get\u contents(”php://input")将字符转换成ASCII格式,这样就可以很容易地进行远程传输。与您所需的情况相同。将它与XML联系起来。只需稍加说明;考虑一下ASP.NET中的Y-VIEWSTATE,它完全封装在Base64编码中,在该编码下,XML用于各种控件状态键/值对。kes在多部分/mime编码的post中有意义,并且应该自动工作,除非您从头开始构建请求。通常,对于HTML来说,base64编码导致的膨胀是不需要的,对于二进制文件来说,这是一个好主意。这也是我的思路。我将始终处理特殊字符和不同的语言ges和字符编码,所以如果我让用户对其进行base64编码,那么我就可以处理。我担心在这个过程中会丢失一些东西。永远不会!不会丢失任何东西。事实上base64编码旨在将特殊字符封送到ASCII格式,以便它们可以轻松地远程传输。与您想要的情况相同。将其与XML s关联OMW。只是为了证明多一点;考虑ASP.NET中的Ay-VIEWStand,它完全封装在Base64编码中,在下面,XML为各种控件的状态键/值配对驻留。Base64编码IMHO仅在多部分/MIME编码的POST中是有意义的,并且应该自动工作,除非您从头开始建立请求。ally,对于HTML来说,不需要base64编码引起的膨胀,对于二进制文件来说,这是一个好主意。