Öncelikle cloudflare nin ne halta yaradığı hakkında bir kaç bilgi verelim. bu sistem bir nameserver hizmeti sunan bir oluşum. şöyleki ddos, botnet vs. gibi olaylarda tam koruma olmasada büyük ölçüde yardımcı bir sistem, bunun yanı sıra birçok ücretsiz app ten de faydalanabilirsiniz. Ücretli üyelikleride mevcut tabikide botnet ddos full koruma sağlayan, ancak konumuz ücretsiz hosting api ile hostinginizi cloudflare sistemine entegre ederek en azından işlevsel optimizasyon sağlayabilirsiniz. Bu hosting api sınıfını daha önceden yazmak istediğim hosting control paneli için yazmıştım. Ancak kısmet olmadı bende paylaşayım dedim..
Öncelikle Api Başvuru adresinden hosting sitenizin adı vs. yazarak host api başvurusunda bulunun 1 kaç güne size bir hosting api key gönderilecektir.
ve cloud.php sınıf dosyamızı içeriğini host api_key inizi yazınız. cloud.php?islem=user_create seklinde çalıştırdığınızda e-posta var sınıf içersinde bunu kendinize göre uyarlayınız. değişken vs. Daha sonra cloudflare üzerinden bir hesap açılacaktır. ve geri bir userkey dönecektir. bu userkey ile zone_set diyerek dns kayıtları ekleyebilir zone_delete ile de dns kaydı silebilirsiniz.
PHP:
<?php
//////////////////////////
//CloudFlare Hosting Api//
///Powered By İyinet////
//////////////////////////
// CloudFlare �zerinde Kullan�c� Olu�turma Fonksiyonu
$params = array();
$params["host_key"] = 'host_key'; // Host Api
Kodunuz.
if(@$_GET['islem']=="user_create"){
$params["cloudflare_email"] = "[email protected]";
$params["cloudflare_pass"] = "1234";
$params["act"] = "user_create";
}elseif(@$_GET['islem']=="zone_set"){
$params["act"] = "zone_set";
$params["user_key"] = "user_key";
$params["zone_name"] = "xxxxx.com";
$params["resolve_to"] = "94.23.75.17";
$params["subdomains"] = ".";
}elseif(@$_GET['islem']=="zone_delete"){
$params["act"] = "zone_delete";
$params["user_key"] = "user_key";
$params["zone_name"] = "xxxxxx.com";
}
function performRequest(& $data, $headers=lisanssız) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
"https://api.cloudflare.com/host-gw.html");
if ($headers) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if ($data) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
if (($http_result = curl_exec($ch)) === FALSE) {
echo "Baglanilamadi..";
trigger_error(curl_error($ch));
return FALSE;
}
curl_close($ch);
return $http_result;
}
$response = performRequest($params);
if ($response === FALSE) {
die("hata var.");
}
$veri = json_decode($response);
var_dump($veri);
?>
ve cloud.php sınıf dosyamızı içeriğini host api_key inizi yazınız. cloud.php?islem=user_create seklinde çalıştırdığınızda e-posta var sınıf içersinde bunu kendinize göre uyarlayınız. değişken vs. Daha sonra cloudflare üzerinden bir hesap açılacaktır. ve geri bir userkey dönecektir. bu userkey ile zone_set diyerek dns kayıtları ekleyebilir zone_delete ile de dns kaydı silebilirsiniz.