- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的网络服务器有一个非常奇怪的问题。我的服务器显示 file_get_contents('php://input') 的空字符串,但仅针对一个用户。它对我和其他一些人来说很好,但是一个特定的用户不能在使用 POST 请求的站点上使用任何东西,因为服务器只是在他的 PC 上从他的浏览器接收到没有 POST 信息。但是,它在他的手机上也可以正常工作。测试更加困难,因为我自己无法复制它,它对我来说很好用。我让他尝试了多种不同的浏览器并隐身,以防 Chrome 中的一些奇怪设置对他造成了破坏,但似乎没有任何效果。我检查了他的 chrome 工具中的标题,似乎所有信息都在那里,但服务器仍然什么也没看到。
我使用的代码非常简单,只是使用 fetch 发送一个 post 请求
let fetchCheckoutID = fetch("stripe/createcustomcheckout.php", {
credentials: 'include',
method: "POST",
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
currency: customCheckoutCurrency.value.toLowerCase(),
price: customCheckoutValue.value,
name: customCheckoutName.value
})
}).then(function (response) {
return response.json();
}).then(async function (session) {
stripe.redirectToCheckout({ sessionId: session.id});
}).then(function (result) {
if(result.error) {
alert(result.error.message);
}
}).catch(function (error) {
console.error("Stripe Setup: ", error);
});
然后在服务器端
$json = file_get_contents('php://input');
$data = json_decode($json);
这只是我发现问题的代码,整个网站上的 POST 请求都不是专门为他工作的,但对其他人来说都很好。在过去的 4 个小时里,我一直在和他一起试图解决这个问题,因为几个月以来它一直运行良好,但现在突然间他基本上无法使用该站点,因为其中大部分依赖于对服务器的 POST 请求。如果这是他可以解决的问题,那么其他用户肯定会遇到同样的问题......
Request URL: ///stripe/createcustomcheckout.php
Request Method: POST
Status Code: 200
Remote Address: ///
Referrer Policy: strict-origin-when-cross-origin
content-encoding: br
content-type: text/html; charset=UTF-8
date: Tue, 20 Jul 2021 22:17:42 GMT
host-header: 8441280b0c35cbc114
server: nginx
vary: Accept-Encoding
x-httpd: 1
x-proxy-cache-info: DT:1
:authority: ///
:method: POST
:path: /stripe/createcustomcheckout.php
:scheme: https
accept: /
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
content-length: 49
content-type: application/json
cookie: stripe_mid=499cb16f-aea1-4724-b6f7-ef968c5733696ba34;
stripe_sid=f2bbde34-9dab-4f3f-9dfc-bb2904e813a1716c2
origin: ///.com/
referer: ///createstripe
sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91",
"Chromium";v="91"
sec-ch-ua-mobile: ?0
sec-fetch-dest: empty
sec-fetch-mode: cors
sec-fetch-site: same-origin
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164
Safari/537.36
{currency: "usd", price: "21", name: "ertrgdfg"}
currency: "usd"
name: "ertrgdfg"
price: "21"
这是服务器响应,我让它 var_dumping 整个 $_SERVER,底部的空字符串是前面的 $json 变量的 var_dump(空的 php://input)。
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["DOCUMENT_ROOT"]=>
string(52) "///.com/public_html"
["HTTPS"]=>
string(2) "on"
["UNIQUE_ID"]=>
string(27) "YPdK0LJppGoU///AAAAw"
["SCRIPT_URL"]=>
string(36) "/stripe/createcustomcheckout.php"
["SCRIPT_URI"]=>
string(57) "///stripe/createcustomcheckout.php"
["PHPHANDLER"]=>
string(24) "/usr/local/php74/bin/php"
["HTTP_X_PORT"]=>
string(4) "1033"
["HTTP_X_REAL_IP"]=>
string(14) "///"
["HTTP_X_FORWARDED_PROTO"]=>
string(5) "https"
["HTTP_HOST"]=>
string(13) "///.com"
["HTTP_X_ACCEPT_ENCODING"]=>
string(17) "gzip, deflate, br"
["HTTP_CONNECTION"]=>
string(5) "close"
["HTTP_SEC_CH_UA"]=>
string(64) "" Not;A Brand";v="99", "Google Chrome";v="91",
"Chromium";v="91""
["HTTP_SEC_CH_UA_MOBILE"]=>
string(2) "?0"
["HTTP_USER_AGENT"]=>
string(115) "Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164
Safari/537.36"
["CONTENT_TYPE"]=>
string(16) "application/json"
["HTTP_ACCEPT"]=>
string(3) "*/*"
["HTTP_ORIGIN"]=>
string(21) "///.com"
["HTTP_SEC_FETCH_SITE"]=>
string(11) "same-origin"
["HTTP_SEC_FETCH_MODE"]=>
string(4) "cors"
["HTTP_SEC_FETCH_DEST"]=>
string(5) "empty"
["HTTP_REFERER"]=>
string(38) "///createstripe"
["HTTP_ACCEPT_LANGUAGE"]=>
string(14) "en-US,en;q=0.9"
["HTTP_COOKIE"]=>
string(112) "__stripe_mid=499cb16f-aea1-4724-b6f7-ef933696ba34;
__stripe_sid=f2bbde34-9dab-4f3f-9dfc-bb23a1716c2"
["SERVER_SOFTWARE"]=>
string(6) "Apache"
["SERVER_NAME"]=>
string(13) "///.com"
["SERVER_ADDR"]=>
string(14) "///"
["SERVER_PORT"]=>
string(3) "443"
["REMOTE_ADDR"]=>
string(14) "///"
["SERVER_ADMIN"]=>
string(9) "webmaster"
["SCRIPT_FILENAME"]=>
string(88) "///stripe/createcustomcheckout.php"
["REMOTE_PORT"]=>
string(5) "37988"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.0"
["REQUEST_METHOD"]=>
string(4) "POST"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_URI"]=>
string(36) "/stripe/createcustomcheckout.php"
["SCRIPT_NAME"]=>
string(36) "/stripe/createcustomcheckout.php"
["PHP_DEFAULT_SOCKET_TIMEOUT"]=>
string(2) "40"
["PHP_MAX_EXECUTION_TIME"]=>
string(3) "120"
["PHP_MAX_INPUT_TIME"]=>
string(3) "120"
["PHP_MEMORY_LIMIT"]=>
string(4) "768M"
["PHP_POST_MAX_SIZE"]=>
string(4) "256M"
["PHP_UPLOAD_MAX_FILESIZE"]=>
string(4) "256M"
["PHP_SELF"]=>
string(36) "/stripe/createcustomcheckout.php"
["REQUEST_TIME_FLOAT"]=>
float(1626819280.5109)
["REQUEST_TIME"]=>
int(1626819280)
}
string(0) ""
我注意到他请求的 $_SERVER 响应缺少我的响应所具有的 ["CONTENT-LENGTH"] 变量。然而,他在浏览器中的请求 header 确实有一个内容长度,并且内容就在那里,但服务器仍然什么也看不到。我真的被困在这里,无法弄清楚为什么服务器没有收到他的 POST 内容。这不是随机用户这是网站的所有者(我只是开发人员),他能够使用它非常重要。任何帮助将不胜感激。
最佳答案
好吧,所以我想出了这个问题,以防将来有人遇到这个问题。
我今天花了更多时间尝试修复此问题,但用户收到了一个新错误,这次是来自我的托管服务的整个错误页面响应,超出了我的控制范围。这个错误说:
“由于安全规则,您尝试访问的页面受到限制。如果您认为此安全规则正在影响您网站的正常运行,请联系您的托管服务提供商并详细说明如何重新创建此错误。”
我使用 Siteground 来托管我的网站,因此我联系了他们以尝试解决此问题。长话短说,他们的后端有一个特定的安全规则,它与 Bitdefender 存在问题,现在它阻止了他。支持代理必须解锁他的 IP,然后他卸载了 Bitdefender,现在一切正常。 Bitdefender 出于某种原因阻止了他的 POST 请求。我真的不明白为什么,我与之交谈的支持代理无法告诉我为什么,只是尝试卸载/禁用您的 Bitdefender,如果您被安全规则阻止,请联系您的托管服务提供商,看看他们是否'已经封锁了IP。
关于javascript - file_get_contents ('php://input' )为一个用户返回空,但对其他人工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68450092/
自从我 faced an issue由于背景图片对于不同分辨率的内容来说太短,我尝试将背景分成 3 部分并自动拉伸(stretch)中间部分以相应地填充顶部和底部图像之间的空间。不幸的是我没能在 CS
我从去年开始就在我的程序中运行这个函数(Linux 和 Windows)。 现在我需要实现一个新功能,我的新构建不再运行。 我还有其他使用 POST 的 CUrl 函数,结果是一样的:没问题,但我的
在评估函数应用方面,Haskell 是只支持普通降阶还是也支持应用降阶?我是否认为正常顺序是 Haskell 惰性的原因? 最佳答案 GHC 运行时不使用术语缩减策略,因为那会非常低效。事实上,GHC
怎么来的multi使用多处理池对多个“进程”上的数据进行分段和处理的函数比仅调用 map 慢(8 秒)。功能(6 秒)? from multiprocessing import Pool import
假设我正在渲染一个 3d GL_TRIANGLE。该对象需要 3 个顶点才能定义:A、B、C。我将此类数据放入缓冲区并通过 glVertexAttribPointer 将其绑定(bind)到着色器。
我有一个字体的三个文件,普通的,粗体的和浅色的。由于 font-weight:light 不存在,我该如何在 font-face 上设置 light 呢? 顺便问一下,font-weight:ligh
我是 C 的新手,我似乎无法弄清楚什么似乎是一个非常简单的指针问题。我的程序将行号添加到文件中。它逐行读入文件,然后在每行的开头添加一个行号。它在每个文件上都可以正常工作,如下所示: soccer@s
我有以下代码,我不确定为什么当它命中 Myclass 的析构函数时我会收到堆损坏检测错误。我相信我正在正确地释放内存?? #include #include using namespace std
有什么方法可以将“正常”数学符号解释为逆波兰符号 (RPN)..? 例如1) 2 + 3*4 - 1 = 234*+1-2) 5 (4-8) = 548- 你可以假设遵循 BODMAS 规则并且必须首
http://www.ergotopia.de/ergonomie-shop/ergonomische-kissen/orthopaedisches-sitzkissen的手机页面应该看起来像右边(检
我正在 Phonegap/Cordova 中构建一个应用程序。应用目前相当简单,但确实需要网络状态和地理定位插件才能工作。 到目前为止,我已经在 Android 上开发了该应用程序(目前它仅由一些基本
我一整天都在做这个,但没有运气 我设法在一行 TfidfVectorizer 中消除了问题 这是我的工作代码 from sklearn.feature_extraction.text import C
也许有人看到一个错误,问题是当我按btn2 (button 2)和btn3 (button 3)应用程序crashes时,但操作仍然有效,即video正在运行并且PDF打开,而button 1正常工作
我正在开发一个应用程序。它的第一页是登录屏幕。成功登录后,我想将用户带到选项卡式 Activity 。我怎样才能在安卓中做到这一点?谢谢 最佳答案 在 Android 中,启动 Activity 是通
我不确定我在这里做错了什么。 :normal! I### 当我对一个单词执行此命令时,我想要的最终结果是: ### word 但是我得到了这个: ###word 最佳答案 Vim 的 :normal是
我必须将 2 个静态矩阵发送到分配动态矩阵的函数,将矩阵 1 乘以矩阵 2,并返回新矩阵的地址。请注意,COMM 很常见。 我尝试删除 free_matrix 行,它工作正常。 void main()
我在我的一个项目中使用 Gnome libglib 并遇到了一个奇怪的错误。我可以输入 GList 的元素数量看起来仅限于 45 个。在第 45 个元素处,它给出了此错误 40 counter 41
我正在尝试获取“顶级”HWND 的尺寸。即,我想要 Firefox/Windows 资源管理器等的主 HWND 的当前尺寸。窗口。如果窗口最小化, GetWindowRect() 将不起作用。 Get
相同的标题:什么是索引 - 正常 - 全文 - 唯一? 最佳答案 普通索引用于通过仅包含行数据的切片或散列来加速操作。 全文索引向数据库的全文搜索 (FTS) 引擎指示它应该将数据存档在给定字段中,以
我正在使用 EnumParser来自 here它在 VC++ 中编译得很好,但是使用 gcc 我有这样的错误: ./Terminator.o: In function `EnumParser::Enu
我是一名优秀的程序员,十分优秀!