{"id":28713,"date":"2024-11-25T15:55:12","date_gmt":"2024-11-25T07:55:12","guid":{"rendered":"https:\/\/fwq.ai\/blog\/28713\/"},"modified":"2024-11-25T15:55:12","modified_gmt":"2024-11-25T07:55:12","slug":"phpcms-v9%e7%99%bb%e5%bd%95%e5%a4%b1%e8%b4%a5%e6%80%8e%e4%b9%88%e5%8a%9e","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/28713\/","title":{"rendered":"phpcms v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e"},"content":{"rendered":"<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/020\/5e38d220c3b25658.jpg\" class=\"aligncenter\" title=\"phpcms v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e\u63d2\u56fe\" alt=\"phpcms v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e\u63d2\u56fe\" \/><\/p>\n<p><strong> v9\u767b\u5f55\u5931\u8d25\uff1f<span style=\"font-size: 14px;line-height: 1.76em\">phpcmsv9\u5168\u7ad9 https ssl\u540e\u4f1a\u5458\u767b\u5f55\u5931\u8d25\u89e3\u51b3\u65b9\u6cd5<\/span><\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/image\/409\/483\/556\/1580782054433527.png\" class=\"aligncenter\" title=\"phpcms v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e\u63d2\u56fe1\" alt=\"phpcms v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e\u63d2\u56fe1\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<p>\u5f88\u591a\u670b\u53cb\u5728\u4f7f\u7528phpcmsv9\u7684\u65f6\u5019\u9047\u5230\u4e86\u8fd9\u6837\u4e00\u4e2a\u95ee\u9898\uff0c\u5728\u5c06\u5168\u7ad9https\u5316\u540e\uff0c\u4f1a\u5458\u4e2d\u5fc3\u65e0\u6cd5\u6b63\u5e38\u767b\u5f55\uff0c\u5177\u4f53\u662f\u6ca1\u6709\u8fd4\u56de\u503c\uff0c\u63d0\u793a\u767b\u5f55\u5931\u8d25\uff0c\u4e3b\u8981\u662f\u539f\u6765\u662f\u7cfb\u7edf\u5728\u521d\u59cb\u5316phpsso\u65f6\uff0c\u65e0\u6cd5\u5c06\u6570\u636e\u901a\u8fc7443\u4f20\u8f93\u5230\u5bf9\u5e94\u7684\u65b9\u6cd5\uff0c\u901a\u8fc7\u6392\u67e5\u95ee\u9898\uff0c\u53ef\u4ee5\u770b\u5230\u5728client.class.php\u4e2d\uff0c\u7cfb\u7edf\u9ed8\u8ba4\u4f7f\u7528\u7684\u7aef\u53e3\u662f80\uff0c\u6240\u4ee5\u6211\u4eec\u53ea\u9700\u8981\u6309\u4ee5\u4e0b\u65b9\u6cd5\u4fee\u6539\u5c31\u53ef\u4ee5\u89e3\u51b3\u5728https\u540e\u4f1a\u5458\u65e0\u6cd5\u767b\u5f55\u7684\u95ee\u9898\uff1a<\/p>\n<p>&nbsp;<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/image\/608\/762\/299\/1580782076226561.png\" class=\"aligncenter\" title=\"phpcms v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e\u63d2\u56fe2\" alt=\"phpcms v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e\u63d2\u56fe2\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<p>&nbsp;<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<p>phpcms\/modules\/member\/classes\/client.class.php&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<p>\u4e2d361\u884c\u4fee\u6539\u5982\u4e0b\uff1a<\/p>\n<pre>$port&nbsp;=&nbsp;!empty($matches['port'])&nbsp;?&nbsp;$matches['port']&nbsp;:&nbsp;(&nbsp;strtolower($matches['scheme'])=='https'&nbsp;?&nbsp;443&nbsp;:&nbsp;80&nbsp;);<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>&nbsp;<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<p>\u7b2c386\u884c\u5c06\uff1a<\/p>\n<pre>$fp&nbsp;=&nbsp;@fsockopen(($ip&nbsp;?&nbsp;$ip&nbsp;:&nbsp;$host),&nbsp;$port,&nbsp;$errno,&nbsp;$errstr,&nbsp;$timeout);<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>&nbsp;<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<p>\u66ff\u6362\u4e3a<\/p>\n<p>&nbsp;<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<pre>$contextOptions&nbsp;=&nbsp;array(\n&nbsp;&nbsp;&nbsp;&nbsp;'ssl'&nbsp;=&amp;gt;&nbsp;array(\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'verify_peer'&nbsp;=&amp;gt;&nbsp;false,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'verify_peer_name'&nbsp;=&amp;gt;&nbsp;false\n&nbsp;&nbsp;&nbsp;&nbsp;)\n);\n&nbsp;\n\/\/\u5982\u679c\u6709\u7b7e\u540d\u7684\u8bc1\u4e66\n\/\/$contextOptions&nbsp;=&nbsp;array(\n\/\/&nbsp;&nbsp;&nbsp;&nbsp;'ssl'&nbsp;=&amp;gt;&nbsp;array(\n\/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'verify_peer'&nbsp;=&amp;gt;&nbsp;true,&nbsp;\n\/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cafile'&nbsp;=&amp;gt;&nbsp;'\/path\/to\/cacert.pem',\n\/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/'CN_match'&nbsp;=&amp;gt;&nbsp;'indexroot.net',&nbsp;\/\/&nbsp;\u5339\u914d\u57df\u540d\n\/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ciphers'&nbsp;=&amp;gt;&nbsp;'HIGH:!SSLv2:!SSLv3',\n\/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'disable_compression'&nbsp;=&amp;gt;&nbsp;true,\n\/\/&nbsp;&nbsp;&nbsp;&nbsp;)\n\/\/);\n&nbsp;\n$context&nbsp;=&nbsp;stream_context_create($contextOptions);\n$fp&nbsp;=&nbsp;stream_socket_client(\"ssl:\/\/{$host}:{$port}\",&nbsp;$errno,&nbsp;$errstr,&nbsp;$timeout,&nbsp;STREAM_CLIENT_CONNECT,&nbsp;$context);<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>PHP\u4e2d\u6587\u7f51\uff0c\u5927\u91cf\u7684\u514d\u8d39\uff0c\u6b22\u8fce\u5728\u7ebf\u5b66\u4e60\uff01<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>v9\u767b\u5f55\u5931\u8d25\uff1fphpcmsv9\u5168\u7ad9 https ssl\u540e\u4f1a\u5458\u767b\u5f55\u5931\u8d25\u89e3\u51b3\u65b9\u6cd5 &nbsp; \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b \u5f88\u591a\u670b\u53cb\u5728\u4f7f\u7528phpcmsv9\u7684\u65f6\u5019\u9047\u5230\u4e86\u8fd9\u6837\u4e00\u4e2a\u95ee\u9898\uff0c\u5728\u5c06\u5168\u7ad9https\u5316\u540e\uff0c\u4f1a\u5458\u4e2d\u5fc3\u65e0\u6cd5\u6b63\u5e38\u767b\u5f55\uff0c\u5177\u4f53\u662f\u6ca1\u6709\u8fd4\u56de\u503c\uff0c\u63d0\u793a\u767b\u5f55\u5931\u8d25\uff0c\u4e3b\u8981\u662f\u539f\u6765\u662f\u7cfb\u7edf\u5728\u521d\u59cb\u5316phpsso\u65f6\uff0c\u65e0\u6cd5\u5c06\u6570\u636e\u901a\u8fc7443\u4f20\u8f93\u5230\u5bf9\u5e94\u7684\u65b9\u6cd5\uff0c\u901a\u8fc7\u6392\u67e5\u95ee\u9898\uff0c\u53ef\u4ee5\u770b\u5230\u5728client.class.php\u4e2d\uff0c\u7cfb\u7edf\u9ed8\u8ba4\u4f7f\u7528\u7684\u7aef\u53e3\u662f80\uff0c\u6240\u4ee5\u6211\u4eec\u53ea\u9700\u8981\u6309\u4ee5\u4e0b\u65b9\u6cd5\u4fee\u6539\u5c31\u53ef\u4ee5\u89e3\u51b3\u5728https\u540e\u4f1a\u5458\u65e0\u6cd5\u767b\u5f55\u7684\u95ee\u9898\uff1a &nbsp; \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b &nbsp; \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b &nbsp; \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b phpcms\/modules\/member\/classes\/client.class.php&nbsp; &nbsp; \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b \u4e2d361\u884c\u4fee\u6539\u5982\u4e0b\uff1a $port&nbsp;=&nbsp;!empty($matches[&#8216;port&#8217;])&nbsp;?&nbsp;$matches[&#8216;port&#8217;]&nbsp;:&nbsp;(&nbsp;strtolower($matches[&#8216;scheme&#8217;])==&#8217;https&#8217;&nbsp;?&nbsp;443&nbsp;:&nbsp;80&nbsp;); \u767b\u5f55\u540e\u590d\u5236 &nbsp; \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b \u7b2c386\u884c\u5c06\uff1a $fp&nbsp;=&nbsp;@fsockopen(($ip&nbsp;?&nbsp;$ip&nbsp;:&nbsp;$host),&nbsp;$port,&nbsp;$errno,&nbsp;$errstr,&nbsp;$timeout); \u767b\u5f55\u540e\u590d\u5236 &nbsp; \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b \u66ff\u6362\u4e3a &nbsp; \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b $contextOptions&nbsp;=&nbsp;array( &nbsp;&nbsp;&nbsp;&nbsp;&#8216;ssl&#8217;&nbsp;=&amp;gt;&nbsp;array( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;verify_peer&#8217;&nbsp;=&amp;gt;&nbsp;false, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;verify_peer_name&#8217;&nbsp;=&amp;gt;&nbsp;false &nbsp;&nbsp;&nbsp;&nbsp;) ); &nbsp; \/\/\u5982\u679c\u6709\u7b7e\u540d\u7684\u8bc1\u4e66 \/\/$contextOptions&nbsp;=&nbsp;array( \/\/&nbsp;&nbsp;&nbsp;&nbsp;&#8216;ssl&#8217;&nbsp;=&amp;gt;&nbsp;array( \/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;verify_peer&#8217;&nbsp;=&amp;gt;&nbsp;true,&nbsp; \/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;cafile&#8217;&nbsp;=&amp;gt;&nbsp;&#8216;\/path\/to\/cacert.pem&#8217;, \/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&#8217;CN_match&#8217;&nbsp;=&amp;gt;&nbsp;&#8216;indexroot.net&#8217;,&nbsp;\/\/&nbsp;\u5339\u914d\u57df\u540d \/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;ciphers&#8217;&nbsp;=&amp;gt;&nbsp;&#8216;HIGH:!SSLv2:!SSLv3&#8217;, \/\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8216;disable_compression&#8217;&nbsp;=&amp;gt;&nbsp;true, \/\/&nbsp;&nbsp;&nbsp;&nbsp;) \/\/); &nbsp; $context&nbsp;=&nbsp;stream_context_create($contextOptions); $fp&nbsp;=&nbsp;stream_socket_client(&#8220;ssl:\/\/{$host}:{$port}&#8221;,&nbsp;$errno,&nbsp;$errstr,&nbsp;$timeout,&nbsp;STREAM_CLIENT_CONNECT,&nbsp;$context); \u767b\u5f55\u540e\u590d\u5236 PHP\u4e2d\u6587\u7f51\uff0c\u5927\u91cf\u7684\u514d\u8d39\uff0c\u6b22\u8fce\u5728\u7ebf\u5b66\u4e60\uff01 \u4ee5\u4e0a\u5c31\u662f v9\u767b\u5f55\u5931\u8d25\u600e\u4e48\u529e\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-28713","post","type-post","status-publish","format-standard","hentry","category-cms"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/28713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=28713"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/28713\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=28713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=28713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=28713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}