Nginx Statik Dosyalar’da Browser Cache İşlemi

Sitenizi Nginx alt yapısına taşıdıysanız apacheden kalma browser cache özelliklerinin hiç birini kullanamazsınız ancak nginx bunu yapmak için size bir kolaylık sunar aslında hemen sitenizin ayar dosyasına ulaşın genelde yolu /etc/nginx/sites-aveilable gibi bir şey, buradan komutlar ile dosyayı açın ve server blockları içerisine aşağıdaki komutları yapıştırıp kayıt edin

    location ~* .(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso)$ {
    		gzip_static off;
    		#add_header Pragma public;
    		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    		access_log off;
    		expires 30d;
    		break;
    	}

        	location ~* .(js)$ {
    		#add_header Pragma public;
    		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    		access_log off;
    		expires 30d;
    		break;
            }

        	location ~* .(css)$ {
    		#add_header Pragma public;
    		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    		access_log off;
    		expires 30d;
    		break;
            }

        	location ~* .(html|htm|txt)$ {
    		#add_header Pragma public;
    		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    		access_log off;
    		expires 1d;
    		break;
            }

        	location ~* .(eot|svg|ttf|woff)$ {
    		#add_header Pragma public;
    		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    		access_log off;
    		expires 30d;
    		break;
            }

Sonrasında Nginx servisini yeniden başlattığınızda artık statik dosyalarınız tarayıcı tarafından ön bellek yapacak ve gerek pagespeed gerekse gtmatrix gibi sitelerde hata almayacaksınız.

postname.html den postname yönlendirme

Arkadaşlar SEO ya uyumludur diye kullanılan .html tipi kalıcı bağlantılar Nginx üzerinde ciddi oranda sıkıntı yaratmaktadır.Ancak bunu bir kaç ufak kod ile çözmeniz mümkün /%postname%.html olan link yapınızı 301 yönlendirme ile kolaylıkla /%postname%/ yapabileceksiniz bunun için sisteminizde nginx-full sürümü veya daha üst bir sürüm kurulu olması ve rewrite modülünün kurulu olması gerekmektedir.Kullanacağımız kod ise aşağıdaki gibidir.

Tüm /%postname%.html linklerin kalıcı olarak 301 aracılığı ile /%postname%/ yapısına aktarılması

rewrite ^(/.+).html$ $1 permanent;

Sadece belirli konu ve linklerin 301 ile yönlendirilmesi için ise

rewrite ^(/konu linki.html)(.*)$  linki/$2 permanent;

Bu sayede index kaybetmeden google tarafından yeni link yapınız kolaylıkla anlaşılacak ve sıralama kayıplarından kurtulacaksınız.

C ile Kabarcık Sıralaması

C ile Sıralama algoritması yazmak istersek aşağıdaki gibi bir yol izleyebiliriz böylelikle kolaylıkla sıralama işlemini yapabiliriz.Kabarcık Sıralama en çok kulanılan ve hocalarında ödev olarak vermeyi sevdiği sıralama algoritmalarından bir tanesidir.

Örnek Olarak

#include <stdio.h>
#define Deger 10

void main()
{
	int datalar[Deger];
	int i, j, veri, gec;

	printf("Kac Adet Veri Gireceksiniz n");
	scanf("%d", &veri);

	printf("Verileri Teker teker giriniz n");
	for (i = 0; i < veri; i++)
	{
		scanf("%d", &datalar[i]);
	}

   /* Bubble sorting begins */
	for (i = 0; i < veri; i++)
	{
		for (j = 0; j < (veri - i - 1); j++)
		{
			if (datalar[j] > datalar[j + 1])
			{
				gec = datalar[j];
				datalar[j] = datalar[j + 1];
				datalar[j + 1] = gec;
			}
		}
	}

	printf("Siralanan Degerlern");
	for (i = 0; i < veri; i++)
	{
		printf("%dn", datalar[i]);
	}
	getch();
	return 0;
}

CentOS üzerine Oracle Express Kurulumu

Oracle Express kurulumunu geçen bir arkadaşın isteği üzerine CentOS bir sisteme kurdum ama internette ki çoğu makale eski olduğu için hafif zorlandım ama hata bende kendi sitesine bakmalıydım bakmadığım için sıkıntı çıktı ve uğraştık şimdi size kullandığım yöntemi göstereceğim oldukça basit kurulumu hemen yapıp kullanabilirsiniz.

Öncelikle sisteme çekelim paketi

wget http://download.oracle.com/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip

Sisteme paket indirdikten hemen sonra zip açma ve ekipmanını kuralım

yum install unzip bc

Oracle Express hostname ve buna bağlı olan ip ye takıntılı olduğu için önce hostname sonrada ona bağlı ip adresini hosts dosyasına yazmamız lazım bunun için ise

sudo nano /etc/sysconfig/network

yukarıya giriş yaptığınızda hemen hostname tanımlıyoruz kayıt edip çıkıyoruz standartlara uygun bir şey yazarsanız işiniz kolaylaşmış olur. Hostnameyi ayarladıktan sonra Hosts içerisine tanımlamasını yapalım

sudo nano /etc/hosts

İçerisine

ipadresi hostname

olacak şekilde kayıtı yapıp çıkın şimdi indirdiğimiz paketi rardan çıkartma vakti geldi bunun için

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

sonrasında paketimizi bi kuralım güzelce ve sisteme dahil olsun

rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm

Ayarlamalar için çalıştıracağımız parametremiz var burada dikkat etmeniz gereken söylediklerini harfiyen yapmak söylediği portları girmek ve ilerlemek bilginiz yoksa bu şekilde kurmak sizin işinize daha çok yarayacaktır.

/etc/init.d/oracle-xe configure

Kodu girer girmez karşınıza çıkan yerde haliyle çoğu ayarı aynı bırakacaksınız zaten değiştirdiğiniz zaman yapacağımız ayarlar komple değişebiliyor. Ama biz ön tanımlı ayarlamalar ile yapacağız ve centos’da güvenlik duvarını kapatacağız yoksa yapacağımız işlemleri engelliyor olacak

lokkit --disabled

SQLPlus lokal hostdan giriş yapın ve aşağıdakileri harfiyen yapın bu ayarlamaları yapmak için genelde /etc/profile yolunu takip edebilirsiniz centos sürümünüze göre değişiklik gösterebiliyor kimi zaman ay ben bulamadım göremedim yok iyi arayacaksın

export ORACLE_SID=XE
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH

Sonunda kurulumumuz tamamlandı bu sayede Oracle Express veritabanı uygulamasını kurmuş oldunuz güle güle kullanabilirsiniz. Unutmadan hatırlatayım lisans istiyorum diye bas bas bağırabilir kişisel kullanımda gerek yok ama canınızı sıkabilir dikkat etmenizde fayda var.

C ile String İfadeleri Karşılaştırma

Bu kodumuz ile C üzerine kullanıcıdan alınan 50 karakter uzunluğundaki bir string ifadeyi karşılaştırıyoruz.Eğer bir birlerine eşit olurlarsa ekrana Cümleler Eşittir yazdırıyoruz.Değilse Cümleler Bir birlerine eşit değildir olarak yazdırıyoruz.

Örnek Kod

#include <stdio.h>
#include <string.h>

int main()
{
	char a[50], b[50];

	printf("Birinci Cumleyi Yazinizn");
	gets(a);

	printf("Ikinci Cumleyi Yazinizn");
	gets(b);

	if( strcmp(a,b) == 0 )
		printf("Cumleler Esittirn");
	else
		printf("Cumleler Esit Degildirn");

	return 0;
}

Cronjob Nedir, Nasıl Kullanılır?

Web sitesi tasarımcıları ve yazılımcılar için sıklıkla karşılaşılan bir işlem olan Cronjob , daha önceden zamanlanma işlemine tabii tutulmuş dosyaların mevcut sunucu tarafından otomatik olarak periyodik biçimde çalıştırılması işlemi olarak nitelendirilebilinir.

cronjoyenigorsel_kkvqch

Sitelerin düzenleme panellerinin çoğunda söz konusu işlemleri gerçekleştirmek için özel paneller bulunduğundan konu hakkında en amatör olan kişiler dahi cronjob işlemleri alanında herhangi bir sıkıntı yaşamadan diledikleri değişiklikleri yapabilirlerken, arzu edildiği durumda direkt kod eklemeleri ile de istenen sonuca ulaşılabilinmektedir.

Cronjob panel kullanıcısından dakika, saat, gün, ay ve haftanın gününün yanı sıra çalıştırılmak istenen dosyanın konumunu talep etmektedir.

Kendinden istenen alanları isteğe bağlı olarak birer birer doldurabilecek kullanıcılar, zaman sekmelerinde " her " ibaresini kullanmak isteyen kişiler ise Asteriks işareti ile tanımlama yapabilmektedirler.

Bunun yanı sıra " Her x’de bir " şeklinde ibare yerleştirmek isteyen kullanıcılar ise " */x " komutunu kullanabilmektedirler. Pek çok detay komut ile de yönlendirilebilinen bu sürecin kullanıma alışma süreci ise son derece basittir.

Ddos Saldırılarındaki Doğru Bilinen Yanlışlar

DDos(Distributed Denial-Of-Service) sistemleri etkisiz hale getirmek için uzun yıllardan beri kullanılan bir teknik olarak karşımıza çıkmaktadır ve son zamanlarda saldırı türleri oldukça gelişmiştir.

Saldırıların çoğu Application Layer katmanına yapılırken aynı zamanda geliştirilen yeni teknikler ile saldırılar direk olarak Network ve Transport katmanlarınada yapılabilmektedir.Bu saldırılardan kurtulmak öncelikle o kadar kolay değil bu konuda profesyonel bir firma ile çalışmıyorsanız saldırı olduğunda yapacak pek birşeyiniz yok o yüzden firmanızı iyi seçmeniz gerekiyor.

Yeni Yeni Popüler olan

  • NTP
  • SSDP
  • NTP-AMP
  • SNMP
  • uQuake
  • VSE
  • Chargen
  • OVH Exploit
  • Dominate
  • HTTP Attack

Ve devamı şeklinde sıralayabilmemiz mümkün yazılımsal olarak hiçbirine çözüm yok ancak donanımsal olarak çözüm bulabilirsiniz yada servislerden faydalanabilirsiniz.Eskiden baya bi efor sarfetmek gerekiyordu ancak saldırı protokol bazına inince zahmetsizce yüksek boyutlarda saldırılar yapılabiliyordu.Özellikle Spoofed işi için kiralanan sunucularında işe girmesi ise saldırı 520 Gbit kadar çıkartılabiliyordu örnekleri mevcut ve bu saldırı boyutu hiçde küçümsenecek bir boyut değil.

Türkiye şartlarında yurtdışından saldırı almıyorsanız yurt içinde saldırı maximum 120Gbite kadar çıkmakta ki bu türkiye pazarında oldukça yüksek bir rakam TTnet Ddos koruması var ancak piyasaya sorunlu olarak girdi kullanmak isteyen arkadaşlar firmaları ile iletişime geçerek kullanabilirler ücretleri oldukça yüksek

Bunun yanında türkiyede bilinen yanlışlardan ilkine geçmek istiyorum.Bir site sahibi saldırıyı fark ediyor ve birşeyler yapmak istiyor webmaster forumlarına konu açıyor yada firmasını arıyor.Firma ilk başlarda araya firewall alıyor saldırının yüzde bilmem kaçını bu şekilde engelliyor.Sonra saldırgan bakıyorki aa bunlar birşeyler yapmış teknik değiştiriyor hemen sonra bir bakıyoruz site uçmuş.

ddosgorsel1-e1431380314760

Daha sonra bu arkadaşa bir tavsiye veriliyor CloudFlare firmasına geç saldırılardan kurtulursun diye.Öncelikle şunu belirtmekde yarar var CloudFlare Ddos Protection firması değil CloudFlare bir CDN yani içerik dağıtma servisidir.

Business sürümü hariç hiçbirinde Saldırı koruması yoktur. CloudFlare Business paketi içinde ise Layer 3/4 koruma türleri bulunmaktadır.CloudFlare Free ve Pro paketlerinde ise Sadece Layer 7 den gelen saldırılar için koruma vardır.Büyük boyutlu bir saldırı geldiği anda siteniz yerlebir olacaktır ve ulaşılamayacaktır.

Zaten saldırı sonrasında CloudFlare size bir mail atacak ve paketinizi yükseltmenizi isteyecek sizde işi bilmiyorsanız 250 dolara varan fiyatlarda koruma sahibi olacaksınız ki bu çok yüksek bir mebla

Bir başka bilinen yanlış ise sitenin proxylere girişinin kapatılmasıdır bu gerçekten çok ciddi bir sorun yaratır sitenizde internetin yarısı proxy ve VPN ağlarından oluşmaktadır.Ayrıca saldırıyı kesme gibi bir olasılığıda yoktur proxy saldırıları artık tercih edilen bir yöntem değildir.

Eğer saldırı alıyorsanız direk olarak yapacağınız iş saldırının yurt içinden mi yoksa yurt dışındanmı geliyor olduğunu tespit etmek eğer saldırı yurtdışından yoğun bir şekilde geliyor ise 1 saatlik olmak üzere yurtdışından girişleri kapatmanız sitenizi rahatlatacaktır.

Ancak Google konusunda sıkıntı yaşayacaksınız bağlanamadığı için indexlenmeyecek yada bağlantılarda 404 hatası alacaklardır.Yandex için böyle bir sıkıntı bulunmamaktadır.

Bunlarla beraber artık saldırılar ciddi oranlarda olabilir herşeye hazırlıklı olun ayrıca saldırı almamaya bakın kimseye bulaşmayın tavuğuna kış demeyin sonra başınız çok ağrır.

Programlamaya Giriş Final Ders Ödevleri

Başkent Üniversitesi Programlamaya Giriş dersinde Prof. Dr. Afet GOLAYOĞLU Tarafından verilmiş olan Final Ders Ödevleri Tarafımdan yazılmış olup 11.05.2015 Tarihinde yayınlanmıştır.Kaynak verilmeden kullanılması kesinlikle yasaktır.

1- Elektrik dağıtım şirketinde elektrik kullanım bedeli,

  • Konutlar için 0-100 KWh arası 0.1 TL /Kwh, 100 Kwh dan fazla kısmi için 0.15 TL/Kwh,
  • Kamu kuruluşları için 0-500KWh arası için 0.15TL/KWh, 500Kwh dan fazla kısmi için 0.2 TL/KWh ve
  • Özel sektör için 0-1000 KWh arası 0.3TL/ KWh, 1000 Kwh dan fazla kısmi için ise 0.35TL/KWh olarak hesaplanmaktadır.

Elektrik kullanım bedeli hesaplama programını yazınız.

    #include<stdio.h>
    #include<conio.h>

    int main(void) {
    	int secim=1,kv=0;
    	float konut;
    	jump:
    	while(secim) {
    		printf("1-Konutlarn2-Kamu Kuruluslarin3-Ozel Sektorn4-Cikisnn");
    		scanf("%d",&secim);
    		switch(secim) {
    			case 1:
    				printf("Kullandiginiz Elektrigi KWh Cinsinden giriniz.n");
    				scanf("%d",&kv);
    				if(kv <= 0){
                    	printf("Gecersiz deger girdiniz n");
                    	break;
                	}
    				if(kv >= 0 && kv <= 100) {
    					konut=(float)kv*0.1;
    				} else if(kv>=101) {
    					konut=(float)(100*0.1)+(kv-100)*0.15;
    				}
    				printf("%d KWh icin Kullanim Bedeliniz %.2f TL Olarak Bulunmustur.nn",kv,konut);
    				break;
    			case 2:
    				printf("Kullandiginiz Elektrigi KWh Cinsinden giriniz.n");
    				scanf("%d",&kv);
    				if(kv <= 0){
                    	printf("Gecersiz deger girdiniz n");
                    	break;
                	}
    				if(kv >= 0 && kv <= 500) {
    					konut=(float)kv*0.15;
    				} else if(kv>=501) {
    					konut=(float)(500*0.15)+(kv-500)*0.2;
    				}
    				printf("%d KWh icin Kullanim Bedeliniz %.2f TL Olarak Bulunmustur.nn",kv,konut);
    				break;
    			case 3:
    				printf("Kullandiginiz Elektrigi KWh Cinsinden giriniz.n");
    				scanf("%d",&kv);
    				if(kv <= 0){
                    	printf("Gecersiz deger girdiniz n");
                    	break;
                	}
    				if(kv >= 0 && kv <= 1000) {
    					konut=(float)kv*0.3;
    				} else if(kv>=1001) {
    					konut=(float)(1000*0.3)+(kv-1000)*0.35;
    				}
    				printf("%d KWh icin Kullanim Bedeliniz %.2f TL Olarak Bulunmustur.nn",kv,konut);
    				break;
    			case 4:
    				secim=0;
    				break;
    			default:
    				goto jump;
    				break;
    		}
    	}
    	return 0;
    	getch();
    }

2- Üniversite misafirhanesi öğretim üyeleri için konaklayacakları gün sayısına bağlı olarak tabloda verildiği gibi farklı tarife uygulamaktadır.

Gün sayısı    Ücret (Yabancı) Ücret(TC vatandaşı) Universite personeli
0-4 25 TL(günlük) 15 TL 12 TL
5-10 20 TL 12 TL 10 TL
11-yukarısı 17 TL 10 TL 7 TL

Konaklama bedelini hesaplayan program kodunu yazınız.

    #include <stdio.h>
    #include <conio.h>
    /*Tarife fiyatlarının dizi içerisinde tutulması*/
    int tarife[3][3]={{25, 15, 12},{20, 12, 10},{17, 10, 7}};

    /*Misafir tipi ile birlikte ücreti hesaplayan fonksiyon*/
    int fiyat_hesapla(int tip, int gun){
        int fiyat = 0 ;
        /*Array indis ayarlama işlemi 1 ise 0,2 ise 1 şeklinde */
        tip--;
        if (gun <= 4){
            fiyat+=tarife[0][tip]*gun;/*0-4 Arası için 25 TL ile gün sayısının çarpılması*/
        }
        else if (gun <= 10){
            fiyat+= tarife[0][tip] * 4;/*ilk 4 gün ücretlendirmesi*/
            fiyat+= tarife[1][tip] * (gun-4);/*4 den 10 kadar olan ki ücretlendirme*/
        }
        else{
        	/*11 den yukarısı için konaklama bedel hesabı*/
            fiyat+=tarife[0][tip]*4;
            fiyat+=tarife[1][tip]*6;
            fiyat+=tarife[2][tip]*(gun-10);
        }
        return fiyat;
    }

    int main(void){
        /*Calis programin calisma dongusunu kontrol edecek*/
        int calis = 1,tip, gun;
        while(calis){
        	jump:
            printf("1-Yabancin2-TC Vatandasin3-Personeln4-Cikisn");
            scanf("%d", &tip);
            switch (tip){
            case 1:
            case 2:
            case 3:
                /*Tum misafir tipleri icin tek bir fiyat fonksiyonu yeterli oluyor*/
                printf("Kalinacak gun sayisini giriniz: ");
                scanf("%d", &gun);
                if(gun <= 0){
                    printf("Gecersiz gun sayisi n");
                    break;
                }
                printf("Konaklama ucreti: %d TLn", fiyat_hesapla(tip, gun));
                break;
            case 4:
                calis=0;
                break;
            default: //Girdi olarak 1,2,3 ve ya 4'den farkli bir sey girildiyse uygulama tekrar çalışmaya devam etsin
                goto jump;
            }
        }
        return 0;
        getch();
    }

3- Asgari ücretin 20 yaş altındakiler için 896 TL , 20 yaş üstündekiler için 1010 TL emekliler için 960 TL olarak uygulandığı bir pazarlama şirketinde çalışan her eleman için yaptığı satış miktarının %5 i kadar ek ücret, bayram ve ya tatil günlerinde çalıştığı her yarım gün için ise 50 TL ek ücret verilmektedir. Buna göre, aylık maaş hesaplama programını yazınız

    #include <stdio.h>
    #include <conio.h>

    /*Calisan maasini hesaplayan fonksiyon*/
    double maas_hesapla(int yas, int satis, int mesai){
        double maas=0;
        if(yas == 1)
            maas=896;
        if(yas == 2)
            maas = 1010;
        else
            maas = 960;
        /*Satislardan gelen %5*/
        maas += (satis * 0.05);
        /*Measiden gelen gun*50 TL*/
        maas += (mesai*50);
        return maas;
    }
    int main(){
        /*Calis programin calisma dongusunu kontrol edecek*/
        int calis = 1,yas, satis, mesai;
        while(calis){
            printf("1-20 Yas Altin2-20 Yas Ustun3-Emeklin4-Cikisn");
            scanf("%d", &yas);
            switch (yas){
            case 1:
            case 2:
            case 3:
                /*Tum misafir tipleri icin tek bir fiyat fonksiyonu yeterli oluyor*/
                printf("Elemanini satis miktarini giriniz:");
                scanf("%d", &satis);
                if(satis < 0){
                    printf("Satis negatif olamaz n");
                    break;
                }
                printf("Elemanini bayram ve ya tatilde calistigi gun sayisi:");
                scanf("%d", &mesai);
                if(mesai < 0){
                    printf("Gun sayisi negatif olamaz n");
                    break;
                }
                printf("Elemanin maasi: %.2f TLn", maas_hesapla(yas, satis, mesai));
                break;
            case 4:
                calis=0;
                break;
            default: //Girdi olarak 1,2,3 ve ya -1'den farkli bir sey girildiyse
                printf("Gecersiz bir secenek girdiniz n");
            }
        }
        return 0;
    	getch();
    }

4- Kargo şirketi gönderilecek kargonun ağırlığı ve gideceği yere bağlı olarak aşağıdaki şekilde tarife uygulamaktadır:

  • Amerika : 0-250 gr arası için 2 TL, sonrası her 250 gr için 1.5 TL
  • Avrupa : 0-250 gr arası için 1 TL, sonrası her 250 gr için 0.75 TL
  • Uzakdoğu : 0-250 gr arası için 3 TL, sonrası her 250 gr için 2 TL

Buna göre ücret hesaplayan program kodunu yazınız.

    #include<stdio.h>
    #include<conio.h>

    int main()
    {
    	char yer;
    	float kargonun_agirligi,odenecek_tutar;
    	printf("Kargonun agirligini giriniz: ");
    	scanf("%f",&kargonun_agirligi);
    	printf("Kargonun gidecegi yeri giriniz: ");
    	scanf("%s",&yer);
    	switch(yer)
    	{
    	case 'A':
    			if(kargonun_agirligi>0 && kargonun_agirligi<250)
    		    {printf("Odenecek tutar 2 TL");}
    		    else if(kargonun_agirligi>250)
    		    {
    		    	odenecek_tutar=(kargonun_agirligi/250)*1.5+0.5;
    		    	printf("Odenecek tutar: %.2f TL",odenecek_tutar);
    			}
    		    break;
    	case 'E':
    			if(kargonun_agirligi>0 && kargonun_agirligi<250)
    		    {printf("Odenecek tutar 1 TLn");}
    		    else if(kargonun_agirligi>250)
    		    {
    		    	odenecek_tutar=(kargonun_agirligi/250)*0.75+0.25;
    		    	printf("Odenecek tutar: %.2f TL",odenecek_tutar);
    			}
    		    break;
    	case 'U':
    			if(kargonun_agirligi>0 && kargonun_agirligi<250)
    		    {printf("Odenecek tutar 3 TLn");}
    		    else if(kargonun_agirligi>250)
    		    {
    		    	odenecek_tutar=(kargonun_agirligi/250)*2+1;
    		    	printf("Odenecek tutar: %.2f TL",odenecek_tutar);
    			}
    		    break;
        }
        getch();
        return 0;
    }

OpenSSL ile Kendinden İmzalı SSL Oluşturma

OpenSSL Açık kaynak kodlu SSL ve TLS protokolleri için geliştirilmiş bir uygulamalar. Son zamanlarda adı pekde iyi anılmasada OpenSSL şu an için bu protokolde kullanabileceğimiz neredeyse tek uygulama bugün ise bu OpenSSL ile sizlere kendinden imzalı yani Self-Signed sertifika oluşturmayı göstereceğim.

Sitenizin kullanıcılara gösterilen yerinde kullanmamanızı öneririm kullanıcılar için sıkıntılar oluşturabilir bunun dışında admin paneli yada sitenizin içerisindeki farklı işlevlerde kullanabilirsiniz.

OpenSSL Değilse kurulumu gerçekleştiriyoruz hemen

sudo su
apt-get install openssl

Şimdi yapacağımız şey kullanılacak olan SSL için özel şifreyi üretmek bunun için

openssl genrsa -des3 -out test.key 2048

Anahtarı 2048 olarak üretiyoruz gördüğünüz gibi bunu 1024 olarakda oluşturabilirsiniz tek yapmanız gereken 2048 yazan yeri 1024 ile değiştirmek olacak

Sıra geldi CSR oluşturmaya bunuda aşağıdaki ufak bir kod yardımı ile kolaylıkla oluşturabilirsiniz.

openssl req -new -key test.key -out test.csr

Sizden bir takım bilgiler isteyecek doğru bir şekilde girişini yapıyorsunuz. Kendinden imzalı olacağı için onaylatmak için bir firmaya gerek yok haliyle ücret ödemeyeceksinizde ancak geçerliliği tam olmayacak yukarıdaki aşamadan sonra sertifikayı onaylamak için ise

openssl x509 -req -days 365 -in test.csr -signkey test.key -out test.crt

Son olarak PEM oluşturmamız gerekiyor yeni güvenlik yöntemleri ve doğrulama şekli olarak kullanılacağı için oluşturulması zor değil aşağıdaki komut ile oluşturabilirsiniz.

cat test.key test.crt > test.pem

Bu son aşamadan sonrada sertifikanızı oluşturdunuz güle güle kullanabilirsiniz. Sisteminizin hızına göre sertifikanın oluşumu 1 dk alabilir teleşlanmayın yada daha uzun sürebilir.