成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP 表單提交的數(shù)據(jù)丟失問題

wwq0327 / 1282人閱讀

摘要:但由于用戶導(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ù)是否超過 phpnginx 限制

通過查看 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.inimax_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.inimax_input_var 的值后,問題解決。

當(dāng)然,最后是通過 ajax 提交 json 格式數(shù)據(jù)解決的,畢竟修改 php.ini 的配置還是不太理想!

結(jié)束

由于沒有留意到 php 還有這個(gè)限制,導(dǎo)致在這兒翻車了,特別感謝 @freyo 的指點(diǎn)。你是我們的大神

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26059.html

相關(guān)文章

  • 2018 PHP面試真題(包括詳細(xì)解析)

    摘要:以下題目和解析分別來源于我的新書程序員面試筆試寶典程序員面試筆試真題解析。類通過一個(gè)簡單的外部接口與外界發(fā)生關(guān)系,對象與對象之間通過消息進(jìn)行通信。真題獲得實(shí)例化對象所屬類名字的函數(shù)是。 以下題目和解析分別來源于我的新書《PHP程序員面試筆試寶典》、《PHP程序員面試筆試真題解析》。 1、PHP??蓟A(chǔ) 1、PHP與ASP、JSP有什么區(qū)別?ASP全名Active Server Page...

    pubdreamcc 評論0 收藏0
  • HTML 簡單歸納 -- 前端知識

    摘要:前端是一個(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...

    tuomao 評論0 收藏0
  • Laravel 5系列教程六:表單 Forms

    摘要:不難發(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...

    fancyLuo 評論0 收藏0
  • WEB安全Permeate漏洞靶場挖掘?qū)嵺`

    摘要:簡介最近在逛碼云時(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í)挖掘漏洞的一些思路吧,...

    羅志環(huán) 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<