Sen php şeffaf ssl kısmını halledeyim http/ssl stream wrapper kullanabilirsiniz.
Basit başlayalım:
$c = file_get_contents('file.txt');
Hiçbir sarıcı belirtilmiş, bu nedenle file :/ / varsayılan olarak kullanılır. file:// wrapper) yerel dosya file.txt ve file_get_contents (açmaya çalışırsa akışından verileri okur.
Sonraki adım: http sarıcı
$c = file_get_contents('http://docs.php.net/fopen');
Şimdi bir sarıcı belirtildi. http-wrapper saat ttp :/ / docs.php.net / fopen için bir istekte ve file_get_contents hangi bir dere () tüm veri olarak sonuç verir.
Ssl desteği etkinse de (http://docs.php.net/openssl ayrıca bkz) http s kullanabilirsiniz.
$c = file_get_contents('https://developer.mozilla.org/en/gecko_dom_reference');
Optional: server/client authentication
You can attach a context to a php stream allowing you to set options/parameter for the involved stream wrappers.
E.g. the http-wrapper take the http.user_agent parameter into account when sending a http request to a server. So, if you want to make the server "believe" that a specific version of firefox makes a request for a document and you can do something like
$context = stream_context_create(
array(
'http'=>array('user-agent'=>'Mozilla/6.0 (Windows; U; Windows NT 7.0; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.9 (.NET CLR 3.5.30729)')
)
);
$c = file_get_contents('http://docs.php.net/fopen', 0, $context);
Bir https isteği hem http ve ssl seçenekleri kullanılır yaparken
$context = stream_context_create(
array(
'http'=>array( ...http-wrapper options here ),
'ssl'=>array( ...ssl-wrapper options here )
)
);
Https sunucu bir kaynağa erişim izin vermeden önce kimlik doğrulaması gerektirebilir. Bir istemci sertifikası isteği ile göndermek zorundadır ve sunucu kabul edilebilir olup olmadığını karar verir. Bağlam parametresi ssl.local_cert istekte kullanılan istemci sertifikasını belirlemenizi sağlar. Sertifika dosyası şifre korumalı olabilir. Bu durumda ssl.passphrase olarak parolayı sağlamak zorunda
$context = stream_context_create(
array(
'ssl'=>array(
'local_cert'=>'xyz/VolkerCA/UserVolker.pem',
'passphrase'=>'my secret passphrase'
)
)
);
$c = file_get_contents('https://hermes..../ssl/test.php', 0, $context);
On the other hand you might (also) want to make sure that the server really is what it claims to be. How it's decided whether a (server) certificate is acceptable/valid/trustworthy is a bit beyond this post. http://docs.php.net/book.openssl
Set ssl.verify_peer=true and pass the information where to find the verification data as ssl.cafile
$context = stream_context_create(
array(
'ssl'=>array(
'local_cert'=>'xyz/VolkerCA/UserVolker.pem',
'passphrase'=>'my secret passphrase',
'verify_peer'=>true,
'cafile'=>'xyz/VolkerCA/VolkerCA.pem'
)
)
);
$c = file_get_contents('https://hermes..../ssl/test.php', 0, $context);