$data = file_get_contents("php://input");
<span> <span>php<span>:<span>//<span>input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定的 php.ini 指令。 而且,这样的情况下 $HTTP_RAW_POST_DATA 默认没有<span>填充, 比激活 always_populate_raw_post_<span>data 潜在需要更少的内存。 enctype="multipart/form-data" 的时候 php://input 是无效的。 <span>1<span>, <span>php<span>:<span>//<span>input 可以读取http entity body中指定长度的值,由Content-Length指定长度,不管是POST方式或者GET方法提交过来的数据。但是,一般GET方法提交数据 时,http request entity body部分都为空。 <span>2<span>,<span>php<span>:<span>//<span>input 与$HTTP_RAW_POST_DATA读取的数据是一样的,都只读取Content-Type不为multipart/form-data的数据。<span> 学习<span>笔记 <span>1<span>,<span>Coentent<span>-<span>Type<span>仅在取值为<span>application<span>/<span>x<span>-<span>www<span>-<span>data<span>-<span>urlencoded<span>和<span>multipart<span>/<span>form<span>-<span>data<span>两种情况下,<span>PHP<span>才会将<span>http<span>请求数据包中相应的数据填入全局变量<span>$_POST <span>2<span>,<span>PHP<span>不能<span>识别的<span>Content<span>-<span>Type<span>类型的时候,会将<span>http<span>请求包中相应的数据填入变量<span>$HTTP_RAW_POST_DATA <span>3<span>, 只有<span>Coentent<span>-<span>Type<span>为<span>multipart<span>/<span>form<span>-<span><span>data<span>的时候,<span>PHP<span>不会将<span>http<span>请求数据包中的相应数据填入<span>php<span>:<span>//<span>input,否则其它情况都会。填入的长度,由Coentent-Length指定。 <span>4<span>,只有<span>Content<span>-<span>Type<span>为<span>application<span>/<span>x<span>-<span>www<span>-<span>data<span>-<span>urlencoded<span>时,<span>php<span>:<span>//<span>input数据才跟$_POST数据相一致。 <span>5<span>,<span>php<span>:<span>//<span>input数据总是跟$HTTP_RAW_POST_DATA相同,但是php://input比$HTTP_RAW_POST_DATA更凑效,且不需要特殊设置php.ini <span>6<span>,<span>PHP<span>会将<span>PATH<span>字段的<span>query_path<span>部分,填入全局变量<span>$_GET<span>。通常情况下,<span>GET<span>方法提交的<span>http<span>请求,<span>body<span>为空。
例子 <span>1<span>.<span>php<span>用<span>file_get_contents<span>(<span>"<span>php://input<span>"<span>)<span>或者<span>$HTTP_RAW_POST_DATA<span>可以接收<span>xml<span>数据
比如: <span>getXML<span>.<span>php<span>;<span>//<span>接收XML地址<span> <span>php <span>$xmldata<span> = <span>file_get_contents<span>(<span>"<span>php://input<span>"<span>)<span>; <span>$data<span> = <span>(<span>array<span>)<span>simplexml_load_string<span>(<span>$xmldata<span>)<span>; <span>?><span> 这里的<span>$<span>data<span>就是包含<span><span>xml<span>数据的数组,具体<span>php<span>解析<span>xml<span>数据更新详细的方法 <span>sendXML<span>.<span>php<span> <span>php <span>$xml<span> = <span>'<span><xml>xmldata</xml><span>'<span>;<span>//<span>要发送的xml <span>$url<span> = <span>'<span>http://localhost/test/getXML.php<span>'<span>;<span>//<span>接收XML地址 <span>$header<span> = <span>'<span>Content-type: text/xml<span>'<span>;<span>//<span>定义content-type为xml <span>$ch<span> = <span>curl_init<span>(<span>)<span>; <span>//<span>初始化curl <span>curl_setopt<span>(<span>$ch<span>, <span>CURLOPT_URL<span>, <span>$url<span>)<span>;<span>//<span>设置链接 <span>curl_setopt<span>(<span>$ch<span>, <span>CURLOPT_RETURNTRANSFER<span>, <span>1<span>)<span>;<span>//<span>设置是否返回信息 <span>curl_setopt<span>(<span>$ch<span>, <span>CURLOPT_HTTPHEADER<span>, <span>$header<span>)<span>;<span>//<span>设置HTTP头 <span>curl_setopt</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

負載均衡會影響會話管理,但可以通過會話複製、會話粘性和集中式會話存儲解決。 1.會話複製在服務器間複製會話數據。 2.會話粘性將用戶請求定向到同一服務器。 3.集中式會話存儲使用獨立服務器如Redis存儲會話數據,確保數據共享。

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

PHP會話的替代方案包括Cookies、Token-basedAuthentication、Database-basedSessions和Redis/Memcached。 1.Cookies通過在客戶端存儲數據來管理會話,簡單但安全性低。 2.Token-basedAuthentication使用令牌驗證用戶,安全性高但需額外邏輯。 3.Database-basedSessions將數據存儲在數據庫中,擴展性好但可能影響性能。 4.Redis/Memcached使用分佈式緩存提高性能和擴展性,但需額外配

Sessionhijacking是指攻擊者通過獲取用戶的sessionID來冒充用戶。防範方法包括:1)使用HTTPS加密通信;2)驗證sessionID的來源;3)使用安全的sessionID生成算法;4)定期更新sessionID。

本文比較了PHP和ASP.NET,重點是它們對大規模Web應用程序,性能差異和安全功能的適用性。兩者對於大型項目都是可行的,但是PHP是開源和無關的,而ASP.NET,


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom編輯器mac版下載
最受歡迎的的開源編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具