摘要:但由于用戶導(dǎo)入的數(shù)據(jù)比較多,表單渲染后有超過個(gè),并且提交時(shí)是直接采用的表單提交,導(dǎo)致后臺只能讀取前面一小部分?jǐn)?shù)據(jù)。跟蹤查看表單提交請求完整性通過跟蹤提交時(shí)的請求,發(fā)現(xiàn)所有數(shù)據(jù)都正常提交。適當(dāng)?shù)男薷牧酥械闹岛螅瑔栴}解決。
今天在處理用戶 excel 導(dǎo)入時(shí),遇到個(gè)小問題
需求是這樣的:用戶導(dǎo)入 excel 后,用 PHPExcel 讀取導(dǎo)入數(shù)據(jù),渲染一個(gè)表單,用戶通過查看表單,確認(rèn)導(dǎo)入的數(shù)據(jù)完整性,最后在確認(rèn)入庫。
但由于用戶 excel 導(dǎo)入的數(shù)據(jù)比較多,表單渲染后有超過 6000 個(gè) input, 并且提交時(shí)(POST)是直接采用的表單提交,導(dǎo)致后臺只能讀取前面一小部分?jǐn)?shù)據(jù)。
跟蹤1.查看表單提交請求完整性
通過跟蹤提交時(shí)的 http 請求,發(fā)現(xiàn)所有數(shù)據(jù)都正常提交。
2.查看請求數(shù)據(jù)是否超過 php 或 nginx 限制
通過查看 Request Headers 下的 Content-Length 發(fā)現(xiàn)只有僅為 218558 B 也就是 20KB 左右。這肯定沒達(dá)到限定值。
3.直接通過 file_get_contents("php://input") 獲取原始請求數(shù)據(jù)
由于直接用 $_POST 獲取的數(shù)據(jù)只有一少部分,故直接用 php://input 獲取原始輸入數(shù)據(jù),打印出來時(shí)發(fā)現(xiàn)這種發(fā)送獲取的數(shù)據(jù)是完整的。
4.通過函數(shù) parse_str 解析原始請求參數(shù)
當(dāng)我把原始輸入數(shù)據(jù)用 parse_str 解析時(shí)
... $origin = file_get_contents("php://input"); parse_str($origin, $result); var_dump($result);
我得到了一個(gè)錯(cuò)誤
Warning: parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini
到這里,我應(yīng)該明白問題出在哪里了。
5.修改 php.ini 中 max_input_var 數(shù)量
# 默認(rèn)的 php.ini 配置 # How many GET/POST/COOKIE input variables may be accepted # max_input_vars = 10000
默認(rèn)的配置只允許請求(GET/POST/COOKIE)的最大 input 數(shù)為 1000 個(gè)。
適當(dāng)?shù)男薷牧?php.ini 中 max_input_var 的值后,問題解決。
結(jié)束當(dāng)然,最后是通過 ajax 提交 json 格式數(shù)據(jù)解決的,畢竟修改 php.ini 的配置還是不太理想!
由于沒有留意到 php 還有這個(gè)限制,導(dǎo)致在這兒翻車了,特別感謝 @freyo 的指點(diǎn)。你是我們的大神
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26059.html
摘要:以下題目和解析分別來源于我的新書程序員面試筆試寶典程序員面試筆試真題解析。類通過一個(gè)簡單的外部接口與外界發(fā)生關(guān)系,對象與對象之間通過消息進(jìn)行通信。真題獲得實(shí)例化對象所屬類名字的函數(shù)是。 以下題目和解析分別來源于我的新書《PHP程序員面試筆試寶典》、《PHP程序員面試筆試真題解析》。 1、PHP??蓟A(chǔ) 1、PHP與ASP、JSP有什么區(qū)別?ASP全名Active Server Page...
摘要:前端是一個(gè)全球性的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),中文名稱因特網(wǎng)國際互聯(lián)網(wǎng)網(wǎng)際網(wǎng)等等提供的服務(wù)等等基本實(shí)現(xiàn)技術(shù)分組交換原理信息在上被分成許多的小數(shù)據(jù)包分組進(jìn)行傳輸,到達(dá)目的地后將數(shù)據(jù)包組裝成信息協(xié)議簇和的關(guān)系是運(yùn)行在上最流行的應(yīng)用之一,為提供了網(wǎng)絡(luò)環(huán)境web前端 Internet:是一個(gè)全球性的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),中文名稱因特網(wǎng)、國際互聯(lián)網(wǎng)、網(wǎng)際網(wǎng)等等; Internet提供的服務(wù):http、ftp、Telne...
摘要:不難發(fā)現(xiàn),的還默認(rèn)為我們生成一個(gè)的表單,這個(gè)是默認(rèn)對表單提交的一點(diǎn)安全支持。在表單提交的時(shí)候,會自動(dòng)檢查這個(gè)是否與保存在中的一致,如果不一致,那就直接跳轉(zhuǎn)回遠(yuǎn)頁面,不允許我們提交數(shù)據(jù)。 原文來自:https://jellybool.com/post/programming-with-laravel-5-laravel-forms-input 免費(fèi)視頻教程地址 https://larav...
摘要:簡介最近在逛碼云時(shí)候發(fā)現(xiàn)靶場系統(tǒng)感覺界面和業(yè)務(wù)場景設(shè)計(jì)的還不錯(cuò)所以過來分享一下同時(shí)也是分享一下我平時(shí)挖掘漏洞的一些思路吧這篇文章里雖然只簡單介紹其中三種漏洞類型,但也是想是一個(gè)拋轉(zhuǎn)引玉吧給安全新手提供一些挖掘思路下載地址地址國內(nèi)地址這篇文章 簡介 最近在逛碼云時(shí)候發(fā)現(xiàn)permeat靶場系統(tǒng),感覺界面和業(yè)務(wù)場景設(shè)計(jì)的還不錯(cuò).所以過來分享一下. 同時(shí)也是分享一下我平時(shí)挖掘漏洞的一些思路吧,...
閱讀 1557·2023-04-25 18:56
閱讀 1501·2021-09-29 09:34
閱讀 1722·2021-09-22 15:51
閱讀 3523·2021-09-14 18:03
閱讀 1176·2021-07-23 17:54
閱讀 2034·2019-08-29 18:38
閱讀 2915·2019-08-29 12:38
閱讀 623·2019-08-26 13:41