Forum - Ana Sayfa Takvim S?k Sorulan Sorular Arama

Zurück   Sivas - Sivaslilar.Net - Sivashaber - Sivasforum - Sivasların En Büyük Buluşma Merkezi - Yiğidolar > Serbest Alan > Program Alanı > E-Book
SİTE ANA SAYFA Galeri Kayıt ol Yardım Ajanda Oyunlar Bugünki Mesajlar

E-Book E-Book Paylaşım



Son 15 Mesaj : Atatürk'ün Çocukluğu'na Ait Hikayeler           »          Şehzade Osman           »          Hatıra defteri           »          Antilop İle Akrebin Dostluğu           »          Karagöz İle Hacivat Konuşmaları 2           »          Sitemizin Ozanları           »          SEVDİM İŞTE....           »          NEFRET ETTİM İŞTE!!!!!           »          AFORİZMALAR (SAÇMALAMLAR)-1           »          SEÇKİNLER/SEÇİLMİŞLER DÜNYASI           »          Hatalarımızdan Dersler Alabilmek Ümidiyle.           »          Araf Suresi 172-173. Ayetler.( Ben Sizin Rabbiniz Değil Miyim)           »          İnancımızı Kullananların Artık Tuzağına Düşmeyelim.           »          ULAŞ-Yapalı           »          TÜRKİYE TÜRKLERİNDİR PAYLAŞIMAZ
Cevapla
 
Seçenekler Arama Stil
Alt 10.08.2008, 18:51   #21
_DuMaN_58
Navigator
 
_DuMaN_58 - Ait Kullanıcı Resmi (Avatar)
 
_DuMaN_58 Şuan _DuMaN_58 isimli Üye şimdilik offline Konumundadır
Son Aktivite: 04.02.2016 20:29
Tournaments Won: 3

Üyelik Tarihi: 20.08.2006
Yaş: 32
Mesajlar: 9.619
Tecrübe Puanı: 10 _DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR
Standart -->: ByKaRaM-Paylaşımlarım

Mesela benim gibi bürçok üyemiz şunları merak ediyoruz:

SMF Kurulumu, PhP Kurulumu gibi şeyler olabilir. Web MasterAraçları olabilir...
__________________
[Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...]
_DuMaN_58 isimli Üye şimdilik offline Konumundadır   sendpm.gif Alıntı ile Cevapla
Alt 11.08.2008, 10:22   #22
ByKaRaM
Yiğido
 
ByKaRaM - Ait Kullanıcı Resmi (Avatar)
 
ByKaRaM Şuan ByKaRaM isimli Üye şimdilik offline Konumundadır
Son Aktivite: 09.02.2016 22:01

Üyelik Tarihi: 26.01.2008
Yaş: 39
Mesajlar: 129
Tecrübe Puanı: 616 ByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYOR
Standart --->: ByKaRaM-Paylaşımlarım

anladım arkadşaım ama şöyle birşey olsa daha iyi olur Rüstü Elmas'a yazdım özel mesaj olarak ama kendisinden henüz bir cevap alamadım Bilgisayar-İnternet Alanına Birde Program İstek Alanı Açılsa Daha iyi olur en azından kimin ne istediğini bilir ona göre yardımda bulunurum elimden geldiği kadarıyla
ByKaRaM isimli Üye şimdilik offline Konumundadır   sendpm.gif Alıntı ile Cevapla
Alt 11.08.2008, 10:25   #23
ByKaRaM
Yiğido
 
ByKaRaM - Ait Kullanıcı Resmi (Avatar)
 
ByKaRaM Şuan ByKaRaM isimli Üye şimdilik offline Konumundadır
Son Aktivite: 09.02.2016 22:01

Üyelik Tarihi: 26.01.2008
Yaş: 39
Mesajlar: 129
Tecrübe Puanı: 616 ByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYOR
Cool --->: ByKaRaM-Paylaşımlarım

Windows Sistem Renklerini Değiştirme

Kodsal yolla windowsun sistem renklerini değiştirebilmek için user32.dll API’si ve ona ait SetSysColors fonksiyonu kullanılmaktadır. Windowsdaki mevcut tanımlanmış renklerin kodlarını da aynı API’den GetSysColor ile alabiliriz. Bu fonksiyonları projelerimizde kullanabilmek için aşağıdaki gibi tanımlıyoruz.C# için;

[DllImport(“user32.dll”)]
static extern bool SetSysColors(int cElements, int[] lpaElements, int[] lpaRgbValues);

[DllImport(“user32.dll”)]
static extern uint GetSysColor(int nIndex);

VB.NET içinse;

Declare Function SetSysColors Lib “user32″ (ByVal nChanges As Integer, ByRef lpSysColor As Integer, ByRef lpColorValues As Integer) As Long

Declare Function GetSysColor Lib “user32″ (ByVal nIndex As Long) As Long

Set işlemi yapılırken verilen parametreler sıra ile değiştirilmek istenen renk sayısı, değiştirilecek olan renk dizisi, ve bu renklerin yeni değerleridir. Renk bilgisini ise sabit tanımlanmış değişkenlerden verebilmekteyiz. Ve bunlar sıra ile şunlardır:

COLOR_SCROLLBAR – 0 : Scrollbar rengi

COLOR_BACKGROUND – 1 : Masaüstü rengi

COLOR_DESKTOP – 1 : Masaüstü rengi

COLOR_ACTIVECAPTION – 2 : Aktif pencere başlığında sol taraftaki renk (gradient aktif ise)

COLOR_INACTIVECAPTION – 3 : Pasif pencere(ler)in başlığında sol taraftaki renk (gradient aktif ise)

COLOR_MENU – 4 : Menü arkaplan rengi

COLOR_WINDOW – 5 : Pencere arkaplan rengi

COLOR_WINDOWFRAME – 6 : Pencere çerçevesinin rengi

COLOR_MENUTEXT – 7 : Menülerdeki yazı rengi

COLOR_WINDOWTEXT – 8 : Penceredeki yazı rengi

COLOR_CAPTIONTEXT – 9 : Pencere başlık yazısının rengi

COLOR_ACTIVEBORDER – 10 : Aktif pencerenin çerçeve rengi

COLOR_INACTIVEBORDER – 11 : Pasit pencere(ler)in çerçeve rengi

COLOR_APPWORKSPACE – 12 : MDI uygulamaların arkaplan rengi

COLOR_HIGHLIGHT – 13 : Seçili alan (SelectedItem) arkaplan rengi

COLOR_HIGHLIGHTTEXT – 14 : Seçili alan yazısının rengi

COLOR_BTNFACE - 15 : 3D nesnelerin görünen yüzünün ve dialag boxların arkaplan rengi

COLOR_3DFACE –15 : 3D nesnelerin görünen yüzünün ve dialag boxların arkaplan rengi

COLOR_BTNSHADOW – 16 : 3D nesneler için gölge rengi

COLOR_3DSHADOW – 16 : 3D nesneler için gölge rengi

COLOR_GRAYTEXT - 17 : Gri (disable edilmiş) yazı rengi

COLOR_BTNTEXT - 18 : Buton üzerindeki yazıların rengi

COLOR_INACTIVECAPTIONTEXT - 19 : Pasif başlıklardaki yazının rengi

COLOR_BTNHIGHLIGHT – 20 : Butonun 3D isaretlenmesi rengi

COLOR_3DHIGHLIGHT – 20 : 3D nesneler için seçim rengi

COLOR_3DHILIGHT – 20 : 3D nesneler için seçim rengi

COLOR_3DDKSHADOW – 21 : 3D nesneler için koyu gölge rengi

COLOR_3DLIGHT – 22 : 3D nesneler için açık gölge rengi

COLOR_INFOTEXT – 23 : Tooltiplerin yazı rengi

COLOR_INFOBK – 24 : Tooltiplerin arka plan rengi

COLOR_HOTLIGHT – 26 : Tıklanmış hyperlinklerin rengi

COLOR_GRADIENTACTIVECAPTION – 27 : Aktif pencere başlığında sol taraftaki renk (gradient aktif ise). Gradient özellikleri için SPI_GETGRADIENTCAPTIONS fonksiyonu kullanılabilir.

COLOR_GRADIENTINACTIVECAPTION – 28 : Pasif pencere(ler)in sağ taraftaki renk (gradient aktif ise)

COLOR_MENUHILIGHT – 29 : Flat menüde seçili alan rengi (Windows 2000’de desteklenmemektedir.)

COLOR_MENUBAR – 30 : Flat menü çubuğunun arka plan rengi (Windows 2000’de destekelenmemektedir.)

Kod içerisinden yukarıdaki sabitlerden yararlanılarak mevcut renk değerleri okunanabilir (get) ve ya değiştirilebilir (set). Örneğin grafik uygulamalarımızda windows renkleriyle ile çizim-yazı vs yapmamız gerekebilir. Bu tip durumlarda GetSysColor ile istediğimiz renk bilgisini elde ebiliriz. Mesela masaüstü rengini şöyle alabiliriz:

uint a = GetSysColor(1); //uint a = GetSysColor(COLOR_DESKTOP);


İlave olarak .NET ortamından windows renklerine ulaşmak için SystemColors sınıfından da yararlanabiliriz. Ancak bu sınıftan sadece okuma yapabildiğimiz için bu renkleri değiştirmek istersek SetSysColors fonksiyonunu kullanmamız gerekecektir. (Yapılan değişiklik windows genelinde etkili olacaktır.) Örneğin seçili alan (selecteditem) rengini şöyle değiştirebiliriz:

SetSysColors(1, COLOR_HIGHLIGHT, RGB(0, 100, 0)); //SetSysColors(1,13,RGB(0,100,0) );

RGB kodları içinde RGB-Hexadecimal renk tablosuna bakılabilir.
ByKaRaM isimli Üye şimdilik offline Konumundadır   sendpm.gif Alıntı ile Cevapla
Alt 11.08.2008, 10:25   #24
_DuMaN_58
Navigator
 
_DuMaN_58 - Ait Kullanıcı Resmi (Avatar)
 
_DuMaN_58 Şuan _DuMaN_58 isimli Üye şimdilik offline Konumundadır
Son Aktivite: 04.02.2016 20:29
Tournaments Won: 3

Üyelik Tarihi: 20.08.2006
Yaş: 32
Mesajlar: 9.619
Tecrübe Puanı: 10 _DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR_DuMaN_58 SITEMIZE IŞIK ŞACIYOR
Standart -->: ByKaRaM-Paylaşımlarım

Hmm tmm. Bende ulaşmaya çalışırım Rüştü abime...
__________________
[Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...]
_DuMaN_58 isimli Üye şimdilik offline Konumundadır   sendpm.gif Alıntı ile Cevapla
Alt 11.08.2008, 10:31   #25
ByKaRaM
Yiğido
 
ByKaRaM - Ait Kullanıcı Resmi (Avatar)
 
ByKaRaM Şuan ByKaRaM isimli Üye şimdilik offline Konumundadır
Son Aktivite: 09.02.2016 22:01

Üyelik Tarihi: 26.01.2008
Yaş: 39
Mesajlar: 129
Tecrübe Puanı: 616 ByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYOR
Cool --->: ByKaRaM-Paylaşımlarım

Php Kurulumu ve Ayarları

Kurulum Dosyaları:

Apache: apache_2.0.52-win32-x86-no_ssl.msi "http://httpd.apache.org"
PHP: php-5.0.3-Win32.zip "http://www.php.net"

Bu konuyu bir örnek üzerinden devam ettirmek istiyorum. Bildiğiniz gibi her servisi çalıştıran bir kullanıcı bulunmalıdır bunun nedeni o servis herhangibi kaynağa ulaşmak istediğinde yetkilendirme yapabilmemizi sağlamaktır.PHP için sunucu olarak kullanacağımız Apache tüm işletim sistemlerinde servis olarak çalışabilmektedir; özellikle Linux ve Unix üzerindeki Apache kurulumlarında tanımlı olarak servisi çalıştıran kullanıcı nobody (kullanıcı id: -1) , grubu nobody (grup id: -1) olarak belirlenmiştir. Bu nobody kullanıcısının özelliği sistem üzerinde kayıtlı olmamasıyla beraber tüm sistemde bir hayalet gibi gezinebilmesidir. Bu durumda yazmış olduğunuz kodlarda yapmış olduğunuz bir hata eğer saldırganın içerisi girmesine izin veriyorsa etkisi düşündüğünüzden çok daha derin olacaktır çünki sisteme saldıran kişi istediği bilgileri çaldıktan sonra ruhunuz duymadan erişim tutanakları (access log) dosyalarından kendi kayıtlarını silip ortadan kaybolacaktır. Bu durumda ne yapmanız gerektiğinden çok; bu duruma nasıl gelmemeniz gerektiği üzerinde durmaya çalışıcaz. Proje geliştirme terimlerinin içerisinde olan risk yönetiminin anahtarıda burdadır, oluşabilecek felaketlerin tespit edilmesi ve tedbirinin alınması.

Peki nasıl tedbir alabiliriz ? Ne yazık ki bunun standart bir yanıtı yok çünki geliştirdiğiniz yazılım çok farklı kaynaklara erişebilir. (Bu arada makaleler içerisinde kaynak kelimesini sürekli verguladığım için açıklamak istedim. Kaynak bir yazılım için belki bir dosya, belki bir veritabanı, ftp veya mail sunucusu gibi veri aktardığı veya topladığı herhangibi servis olabilir.) Çalışan PHP programları bulunduğu servisin kimliğine bürünür, örneğin Apache servisi için sistem üzerinde apache kullanıcısı ve apache grubu açarsanız PHP programımız erişmek istediği tüm dosyalarda işetim sistemi yetkilendirme kontrolünden geçer. Bu şekilde apache kullanıcısı için sadece programımızın bulunduğu klasöre okuma yetkisi verip Apache servisinin ve dolayısı ile PHP programımızın bu klasör dışındaki hiç bir sistem dosyasına erişmesini engelleriz. Gördüğünüz gibi ilk önce dosya sisteminde bir yetkilendirme yaptık sonra servis düzeyinde bir yetkilendirme yaptık, aynı zamanda servisin modülü olan PHP bazında da güvenlik ayarları yapabiliriz bunun için gerekli parametreleri değiştirmemiz yeterli olacaktır. İşte bu makalenin devamında bu ayarları nasıl gerçekleştirebileceğimize bakıcaz.

Bir geliştirici olarak kurulum esnasında benim amacım programımdan kaynaklanan hatalar sonucu yazdığım program üzerinde sisteme zarar verecek saldırıların önüne geçecek şekilde konfigrasyonu gerçekleştirmek. Bu yüzden bana sistemciler tarafından devredilen sistemin zaten güvenli olduğunu, yani bana sistem üzerinden gelebilecek saldırılar konusunda gerekli tedbirlerin aldığını varsayıyorum.

IIS 6.0 ve 5.5 Konfigrasyonu

Ipucu 01: IIS üzerinde Web Publishing serivisini Local System Account ile çalıştırabiliriz fakat yetkilendirme için Directory Settings bölümünden Anonymous yetkiyi kaldırıp geliştirdiğimiz program için açmış olduğumuz kullanıcıya yönlendirmeli ve dosya sistemi bazında programımızın çalışacağı klasörde gerekli yetkilendirmeleri yapmalıyız. Aynı şekilde aşağıdaki PHP konfigrasyonu bölümündeki etkenlere de dikkat etmeliyiz. (PHP5 yeni çıkmış olduğundan şuan isapi olarak IIS üzerinde pek stabil çalışmamaktadır. Gerekli iyileştirmeler yapıldıktan sonra ilgili kurulum demosunu .NET TV bölümünden teymin edebilirsiniz.)

Apache Sunucu Kurulumu

Ipucu 02: Her Apache modülü üzerinde bug barındırma ihtimali yüzünden bir risk içermektedir! Aynı zamanda her modül ayrıca hafızaya yük getirir. Bu sebeplerden ihtiyacınız olamayan modüller mutlaka kullanım dışı bırakılmalıdır. Bu Linux ve Unix (*nix) sistemlerde iki yol ile sağalanabilir. Bildiğiniz üzere *nix sistemlerde kurulum kaynak kodun derlenmesi ile gerçekleşebilmektedir, derleme esnasında bazı moduller tanımlı olarak eklenir, bazı modüller sizin girdiğiniz parameterlere göre eklenir. Burda derlendiğiniz uygulamanın (yani Apache’nin) kullanma kılavuzunu mutlaka okuyup nelerin tanımlı bulunduğunu tespit edip kullanmayacaklarınızı devre dışı bırakınız. Eğer *nix sistemlerde derlenmiş paketleri rpm (Redhat Packge Management) gibi araçlar ile dağıtıyorsanız mutlaka konfigrasyon dosyasında modüllerin dinamik eklendiği yerleri bulup kullanmayacağınız modüllerin ".so" dosyalarını devre dışı bırakınız. Windows sistemler üzerinde kurlum dosyası çalıştırıldıktan sonra derlenmiş dosyalar ilgili klasörlerine kopyalanır, ardından konfigrasyon dosyasında modüllerin dinamik eklendiği yerleri bulup kullanmayacağınız modüllerin ".dll" dosyalarını devre dışı bırakınız.

Ipucu 03: *nix sistemlerde olabildiğince kaynak kod ’dan derleme yaparak kurlum gerçekleştirmeye özen gösteriniz. Bu şekilde hem sistem ile uyumluluğundan emin olursunuz hem istemediğiniz modülleri daha güvenli bir şekilde elimine ederek aynı zamanda performans iyileştirmesinde bulunmuş olursunuz.

Örnek httpd.conf (konfigrasyon) dosyası:



Kod:
httpd.conf (Apache 2.0 / Windows)
# Bu dosyadaki tüm ayarlar Apache 2.0 minimum gereksinimlere göre şekillendirilmiştir.
# Değişiklikleri yapmadan önce geçerli olan konfigrasyon dosyanızın yedeğini almayı
# lütfen unutmayınız.

# Windows üzerinde servisi çalıştıran kullanıcı tanımlı olarak Local System Account’dur.
# Bunu gerekli gördüğünüz durumda Services bölümünden değiştirebilirsiniz.

ServerRoot "C:/Apache/Apache2"
ScoreBoardFile logs/apache_runtime_status.log

PidFile logs/httpd.pid

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15

# Apache 1.3 ile sadece multi-tasking’i desteklemekteydi 2.0 ile beraber
# aynı zamanada multi-threading’i de desteklemeye başladı. Bunu kurulum
# aşamasında verdiğiniz parametreler ile berlileyebilirsiniz. Windows
# sürümünde tanımlı olarak multi-threading alınmıştır.

# Kurulum ile beraber gömülü gelen modülleri "C:\Apache\Apache2\bin>Apache.exe -l"
# satırı ile görüntüleyebilirsiniz.

<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>

LoadModule access_module modules/mod_access.so
#LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule php5_module "C:\Apache\php5\php5apache2.dll"

PHPIniDir "C:\Apache\php5"
AddType application/x-httpd-php .php .inc .tpl
AddType application/x-httpd-php-source .phps .incs .tpls

ServerAdmin sadun@csharpnedir.com
ServerName localhost:80
#Listen 192.168.2.2:80
Listen 80

UseCanonicalName Off
DocumentRoot "C:/Apache/Apache2/htdocs"

# Indexes klasör index’lerine ulaşamadığı zaman klasörün içeriğini ekrana
# yazdırır. Açık bırakılması güvenlik açığına neden olabilir. Bu şekilde
# saldırgan alt klasördeki dosyalara direkt erişme şansını elde edebilir.

<Directory />
Options FollowSymLinks
# Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

DirectoryIndex index.php index.html index.html.var
AccessFileName .htaccess

<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>

TypesConfig conf/mime.types

DefaultType text/plain

<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>

HostnameLookups Off

ErrorLog logs/error.log
LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

CustomLog logs/access.log common

# Alt satırdaki iki konfigrasyon karşı taraftaki istemcinin sunucumuzun sürümünü örenmesini
# engellemektedir. Sürümü bilinmeyen sunucuya saldırmak daha zordur çünki hangi bug’ları
# içerdiğini tespit edilmesi zordur.

ServerTokens Prod
ServerSignature Off

AddDefaultCharset ISO-8859-9

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler type-map var

# ErrorDocument 400 C:/Apache/Apache2/error/ApacheHTTP_BAD_REQUEST.html.var
# ErrorDocument 401 C:/Apache/Apache2/error/HTTP_UNAUTHORIZED.html.var
# ErrorDocument 403 C:/Apache/Apache2/error/HTTP_FORBIDDEN.html.var
# ErrorDocument 404 C:/Apache/Apache2/error/HTTP_NOT_FOUND.html.var
# ErrorDocument 405 C:/Apache/Apache2/error/HTTP_METHOD_NOT_ALLOWED.html.var
# ErrorDocument 408 C:/Apache/Apache2/error/HTTP_REQUEST_TIME_OUT.html.var
# ErrorDocument 410 C:/Apache/Apache2/error/HTTP_GONE.html.var
# ErrorDocument 411 C:/Apache/Apache2/error/HTTP_LENGTH_REQUIRED.html.var
# ErrorDocument 412 C:/Apache/Apache2/error/HTTP_PRECONDITION_FAILED.html.var
# ErrorDocument 413 C:/Apache/Apache2/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
# ErrorDocument 414 C:/Apache/Apache2/error/HTTP_REQUEST_URI_TOO_LARGE.html.var
# ErrorDocument 415 C:/Apache/Apache2/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
# ErrorDocument 500 C:/Apache/Apache2/error/HTTP_INTERNAL_SERVER_ERROR.html.var
# ErrorDocument 501 C:/Apache/Apache2/error/HTTP_NOT_IMPLEMENTED.html.var
# ErrorDocument 502 C:/Apache/Apache2/error/HTTP_BAD_GATEWAY.html.var
# ErrorDocument 503 C:/Apache/Apache2/error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 506 C:/Apache/Apache2/error/HTTP_VARIANT_ALSO_VARIES.html.var


BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully

#
# Bir çoğumuz üyelik girişlerinde SSL kullanmıyoruz. Fakat text olarak gönderilen
# kullanıcı adı ve şifreler network ağına sızmış bir kişi trafından IP paketleri
# takip edilerek kolaylıkla çalınabilir. Bu yüzden Ticari yazılımlarda mutlaka
# üyelik girişleri SSL üzerinden yapılmalıdır. Bu kurulumda SSL barından Apache
# kullanmadık bu yüzden şuan sunucumuz SSL desteklemiyor.
#

<IfModule mod_ssl.c>
Include conf/ssl.conf
</IfModule>


httpd.conf (Apache 1.3 / Unix)
# Bu dosyadaki tüm ayarlar Apache 1.3 minimum gereksinimlere göre şekillendirilmiştir.
# Değişiklikleri yapmadan önce geçerli olan konfigrasyon dosyanızın yedeğini almayı
# lütfen unutmayınız.

ServerType standalone
ServerRoot "/usr/local/apache"

PidFile /var/apache/run/httpd.pid
ScoreBoardFile /var/apache/run/httpd.scoreboard

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15

MinSpareServers 5
MaxSpareServers 10

StartServers 5
MaxClients 150
MaxRequestsPerChild 0

LoadModule env_module libexec/mod_env.so
LoadModule config_log_module libexec/mod_log_config.so
LoadModule mime_magic_module libexec/mod_mime_magic.so
LoadModule mime_module libexec/mod_mime.so
LoadModule autoindex_module libexec/mod_autoindex.so
LoadModule dir_module libexec/mod_dir.so
LoadModule access_module libexec/mod_access.so
LoadModule auth_module libexec/mod_auth.so
LoadModule log_forensic_module libexec/mod_log_forensic.so
LoadModule php4_module libexec/libphp4.so

ClearModuleList
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_log_forensic.c
AddModule mod_so.c
AddModule mod_php4.c

AddType application/x-httpd-php .php .inc .tpl

# Servisi çalıştıran kullanıcı ve grubun tanımlandığı bölüm

User apache
Group apache

ServerAdmin sadun@csharpnedir.com
ServerName localhost
Listen 10.200.20.10:80
Port 80

# Alt satırdaki iki konfigrasyon karşı taraftaki istemcinin sunucumuzun sürümünü örenmesini
# engellemektedir. Sürümü bilinmeyen sunucuya saldırmak daha zordur çünki hangi bug’ları
# içerdiğini tespit edilmesi zordur.

ServerTokens Prod

DocumentRoot "/var/www/html"

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory "/">
Options FollowSymLinks MultiViews
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>

<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>

UseCanonicalName Off

<IfModule mod_mime.c>
TypesConfig /etc/apache/mime.types
</IfModule>

DefaultType text/plain

<IfModule mod_mime_magic.c>
MIMEMagicFile /etc/apache/magic
</IfModule>

HostnameLookups Off

ErrorLog /var/apache/logs/error_log

LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

CustomLog /var/apache/logs/access_log common

ServerSignature Off

<IfModule mod_autoindex.c>
ReadmeName README
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
</IfModule>

<IfModule mod_mime.c>

AddCharset ISO-8859-9 .iso8859-9
AddCharset WINDOWS-1254 .cp-1254
AddCharset UTF-8 .utf8

AddType application/x-tar .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz

</IfModule>

AddDefaultCharset ISO-8859-9

PHP Kurulumu

PHP’yi windows üzerinde kurmaktan pek bahsedemeyiz çünki yapmamız gereken bir kaç dosyayı kopyalamak. Fakat *nix sistemler üzerinde Apache’de olduğu gibi PHP de iki şekilde kurulabilmekte. Bunlardan biri RPM paketleri aracılığı ile hazır derlenmiş paketlerin dağıtılması veya kaynak koddan derlenerek kurulumun gerçekleşmesi. *nix sistemlerde PHP’nin kaynak kod’dan derlenerek kurulması hayati önem taşımaktadır. Bir çok konfigrasyon kurulum esnasında verilen parametreler ile sağlanır. Aynı zamanda kurulum sisteminizdeki kütüphaneleri kullanacağından PHP sisteminiz ile kesinlikle uyumlu bir şekilde çalışır. Örneğin gömülü (built-in) olarak gelen LDAP (Genelde Active Directory’e ulaşmak için gerekli) kütüphaneleri bazı *nix işletim sistemleri ile uyumsuzdur. RPM dağıtımı ile bunun önüne geçemeyebilirsiniz bu yüzden kaynak kod’dan kurulum ile sistemin LDAP kütüphaneleri gösterilip devam edilmelidir.

Dikkat ettiyseniz kurulum esnasında ilk önce sistem bazında güvenlikten söz ettik sonra sunucu bazında güvenlikden söz ettik ve sırada modül bazında güvenlik bulunmakta. PHP içerisinde güvenlik için bazı ayarlamalar bulunmaktadır. Bu konfigrasyonu yaparken amacım programımdan kaynaklanan hatalar sonucu yazdığım program üzerinde sisteme zarar verecek saldırıların önüne geçecek şekilde konfigrasyonu gerçekleştirmek. Bunu asla aklımdan çıkarmamalıyım. Tabiki geliştirdiğim yazlımın kendi içerisindeki güvenliği de söz konusu ama şuan ne yazık ki kapsamımız dahilinde değil.

Ipucu 04: Sanal barındırma yapan sunucu sahiplerinin güvenlik için gösterdiği özeni dedicated sunucu sahipleri de göstermelidir. Bunun için PHP içerisindeki SAFE MODE (güvenli mod) kesinlikle açılmalı. PHP’nin shell’e (kabuk’a) erişmesi kesinlikle engellenmeli, Apache sunucusu sanal klasörler ve sanal barındırmalar kullanılıyorsa php_admin_flag ve php_value özellikleri mutlaka kullanılmalıdır. (Dedicated "atanmış" sunucu tek bir uygulamayı barındıran ve bu uygulama için konfigre edilmiş sunucudur. Kurumsal uygulamalar genelde dedicated sunucular ile karşılaşırız) PHP içerisinde çalışacağı klasör open_basedir ile kesinlikle belirlenmeli dışarıdaki herhangibi klasöre erişmesi engellenerek bu şekilde modül bazında güvenlik teymin edilmelidir.

Bu makale esasında gittikçe uzayabilir. Fakat ilerde bu makaleye bir eklenti yapıp ayrıntılı PHP konfigrasyonunu gözden geçirmeyi planlıyorum. Fakat birşeyler yazmak için sabırsızlandığınızın farkındayım. Bir sonraki makale PHP Geliştirme ortamı olan Zend Studio ile alakalı olacak ve artık kod örneklerine geçmeye başlayacağız. Kurulum ile ilgili bir demoyu yukardaki ekten edinebilirsiniz.

*nix sistemler üzerinde kaynak kod üzerinden kurulum yaparken yollayabileceğiniz parametreler ve açıklamaları: [Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...]

*PHP Konfigrasyonları hakkında ayrıntılı bir döküman hazırlayana kadar ilgili linkden bilgi alabilirsiniz: [Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...]
ByKaRaM isimli Üye şimdilik offline Konumundadır   sendpm.gif Alıntı ile Cevapla
Alt 11.08.2008, 10:52   #26
ByKaRaM
Yiğido
 
ByKaRaM - Ait Kullanıcı Resmi (Avatar)
 
ByKaRaM Şuan ByKaRaM isimli Üye şimdilik offline Konumundadır
Son Aktivite: 09.02.2016 22:01

Üyelik Tarihi: 26.01.2008
Yaş: 39
Mesajlar: 129
Tecrübe Puanı: 616 ByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYORByKaRaM SITEMIZE IŞIK ŞACIYOR
Cool --->: ByKaRaM-Paylaşımlarım

Smf Kurulumu Resimli Anlatım


Öncelikle SMF forumumuzu indiriyoruz

[Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...] Downloads

İndirme adresi budur. Bu yazının yazılma tarihi itibari ile en son sürüm SMF 1.1 RC2 dir. Ben bu sürümün kurulumunu

anlatacağım. Çük büyük ihtimalle diğer sürümlerin kurulumu da buna benzeyecektir.

SMF 1.1 RC2 indirme adresi: http://www.simplemachines.org/download.php/smf_1-1-rc2_install.zip"http://www.simplemachines.org/downlo...c2_install.zip

FTP Programı olarak WS_FTP kullanacağım, bu yüzden FTP Programı ile ilgili resimler bu programdan alıntı olacaktır.

Öncelikle forumumuzu upload ediyoruz....








Upload yaklaşık olarak yarım saat sürecektir. (bu, bağlantı hızınıza göre değişebilir) toplam upload edilecek miktar 7.78 MB'tır.


Şu anda uploadımız yapılırken bizde farklı bir işle uğraşalım. Öncelikle forumun Türkçe Dil Paketini çekelim...

[Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...] [Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...]

Bu paket 253 KB boyutundadır.



Zaten dizin yapısı hazır olduğundan otomatik olarak siz uzak (remote) kısmına taşıdığınızda kendisi doğru yere upload olacaktır.

Evet, artık uploadımız bittiğine göre, karşımızda böyle bir ekran olacak



Şu anda forumu yüklemeye hazırız...

Öncelikle forumuzun yükleme scriptine giriyoruz

[Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...]
[Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...]

olarak giriş yapıyoruz ve karşımıza böyle bir ekran çıkıyor.


Bu ekranda sisteme FTP bilgilerimizi gireceğiz. Herşey Türkçe olduğundan çok detaylı anlatmayacağım ama yine de seçeneklerin üzerinden bir kez geçeyim.

Sunucu: FTP sunucumuz (eğer Lycos Tripod kullanıyorsanız FTP sunucunuz [Üye Olmayanlar Linkleri Göremez. Üye Olmak İçin Tıklayın...]
ftp.members.lycos.co.uk 'dir.)

Kullanıcı Adı ve Şifre: FTP'ye giriş yapabilmek için gerekli kullanıcı adı ver şifre (bunları daha önce belirlemiş olmanız lazım, çünkü bu kullanıcı adı ve şifre ile hostumuza girdik ve dosyaları upload ettik. Bu da aynı şifre olacak)

Kurulum Dizini: evet, arkadaşlar, burası biraz sorunlu bir bölümdür. Öncelikle burasını elimden geldiğince detaylı olarak açıklayacağım. Açıklaması 2. sayfada ve resimli olacak, eğer kurulumda sorun çıkıyorsa LÜTFEN 2. Sayfayı okuyun.

Bu basamak ne içindir? Bu basamak kurulum için bazı gerekli dosyaları yazılabilir yapmak için gereklidir (yani CHMOD ayarı yapmak içindir)

Bilgilerimizi giriyoruz, BAĞLAN tuşuna basıyoruz ve karşımıza böyle bir ekran çıkıyor.


Burada bilgilerimizi dolduruyoruz.

Forum ismi: Forumuzun ismi (örn: turkceforum )

Forum Adresi: otomatik tanınacaktır.

Gzip çıktısı: Forumumuzu hızlandırmak için sayfa çıktılarını gzip ile sıkıştıracaktır. Gözle görülür hızlanma yaratır, Ama bunun için işaret kutusunun altındaki "tıkla" yazan yere basarsanız, sunucunun GZIP desteği olup olmadığını kontrol edecektir forum yazılımımız. (eğer Lycos Tripod kullanıyorsanız, GZIP desteği vardır)

Veritabanı Oturumu: Bu seçeneği seçtiğimiz zaman forumumuz daha güvenli olacaktır. Seçili bırakıyoruz.

şimdi MySQL ayarlarına bakalım:

Sunucu Adresi: MySQL sunucumuzun adresi (Lycos Tripod kullanıyorsanız, localhost)

Kullanıcı Adı: Database için kullanıcı adı (Lycos Tripod için kullanıcıadı şeklindedir)

Parola: DB için gerekli parola (Lycos Tripod kullanıyorsanız, boş bırakın)

Veritabanı Adı: Database ismi (Lycos Tripod kullanıyorsanız, kullanıcıadı_uk_db şeklindedir)

Tablo Öneki: aynen kalmasında hiç bir sakınca yoktur (eğer daha önce aynı database'ye bir SMF forum kurmamışsanız tabii, yoksa değiştirin)

En sonunda sağ alt köşede bulunan İLERLE tuşuna basıyoruz...

Karşımıza böyle bir ekran gelecektir.


Burada forum için admin (yönetici) hesabı yaratacağız. Bütün alanları dolduruyoruz. ve sonunda MySQL şifremizi (Lycos Tripod kullanıyorsanız, boş geçebilirsiniz) yazarak sağ alt köşede olan BİTİR tuşuna basıyoruz.

Daha sonra karşımıza böyle bir ekran gelecektir.


Bu ekranda "install.php dosyasını silmek için buraya tıklayınız"'ı seçiyoruz. Bunu forumumuzun güvenliği için yapmak zorundayız.

Daha sonra forumuza girmek için "yeni yüklenen forumunuzu" linkine tıklıyoruz.

Veeee karşımıza forumumuz...


ByKaRaM isimli Üye şimdilik offline Konumundadır   sendpm.gif Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye Okuyor. (0 Kay?tl? Üye Ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesaj?n?z? De?i?tirme Yetkiniz Yok

BB Code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı

Hizli Erisim


WEZ Format +2. ?uan Saat: 07:39.


Powered by: vBulletin. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.

Copyright © - Bütün Haklar Sivaslilar.net'e aittir.