パソいろ パソコンやIT関連、周辺機器や開発のことなど

パソコンや開発、Linuxやデータベースのことなど

phpのcurlでjsonデータをgetで受け取って配列にするサンプル
phpのcurlでjsonデータをgetで受け取って配列にする

<?php
    $url = "https://example.com";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $res =  curl_exec($ch);
    $json = json_decode($res, true);
    curl_close($ch);
    print_r($json);
apache2.4でssllabsのRatingをAにする
CentOS7などの標準の設定のままだと、SSL Labsなどの評価がFとか低いです…

これは非推奨のSSL2やSSL3、TLSv1やTLSv1.1が使えるままになってたり、Let's Encryptの中間証明書を使わない設定になっているからです。


以降、表示されるランクを落とす項目のメッセージと対応方法。


This server supports anonymous (insecure) suites (see below for details). Grade set to F.

!aNULL !eNULL
がSSLCipherSuiteに記載されているか確認。


This server accepts RC4 cipher, but only with older protocols. Grade capped to B.

!RC4
がSSLCipherSuiteに記載されているか確認。


This server does not support Forward Secrecy with the reference browsers. Grade capped to B.

SSLHonorCipherOrder On
をSSLProtocolの下あたりに追加


This server's certificate chain is incomplete. Grade capped to B.

Let's Encryptを中間証明書を使う方法にする。
つまりfullchainを使わず、SSLCertificateChainFileを追加。


This server does not support Forward Secrecy with the reference browsers. Grade capped to B.

自分の環境だと、
SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:!RC4:!aNULL:!eNULL:!TLSv1
でランクAになった。
ECDHEスイートを使ったことでForward Secrecyが使えるようになった?
apache2.4でTLSv1、TLSV1.1がオフにできない
自分の環境だと
SSLProtocol all -SSLv2 --SSLv3 -TLSv1 -TLSv1.1
でも非推奨のTLSv1とTLSv1.1がdisabledになりません(使えてしまえます)。

その場合、
SSLCiperSuitに!TLSv1を追加することで不可にできました。


SSLCipherSuite ALL:!RC4:!aNULL:!eNULL:!TLSv1

!TLSv1のみ書けば、なぜかTLSv1.1も不使用になりました。


TLSとSSLの有効・無効を調べることのできるサイト

https://www.cdn77.com/tls-test