|
SİTE ANA SAYFA | Galeri | Kayıt ol | Yardım | Ajanda | Oyunlar | Bugünki Mesajlar | Arama |
E-Book E-Book Paylaşım |
|
Seçenekler | Arama | Stil |
10.08.2008, 19:51 | #21 |
Navigator
_DuMaN_58 Şuan
Son Aktivite: 04.02.2016 21:29
Tournaments Won: 3Üyelik Tarihi: 20.08.2006
Yaş: 33
Mesajlar: 9.619
Tecrübe Puanı: 10
|
-->: 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... |
11.08.2008, 11:22 | #22 |
Yiğido
ByKaRaM Şuan
Son Aktivite: 09.02.2016 23:01
Üyelik Tarihi: 26.01.2008
Yaş: 39
Mesajlar: 129
Tecrübe Puanı: 637
|
--->: 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
|
11.08.2008, 11:25 | #23 |
Yiğido
ByKaRaM Şuan
Son Aktivite: 09.02.2016 23:01
Üyelik Tarihi: 26.01.2008
Yaş: 39
Mesajlar: 129
Tecrübe Puanı: 637
|
--->: 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. |
11.08.2008, 11:25 | #24 |
Navigator
_DuMaN_58 Şuan
Son Aktivite: 04.02.2016 21:29
Tournaments Won: 3Üyelik Tarihi: 20.08.2006
Yaş: 33
Mesajlar: 9.619
Tecrübe Puanı: 10
|
-->: ByKaRaM-Paylaşımlarım
Hmm tmm. Bende ulaşmaya çalışırım Rüştü abime...
|
11.08.2008, 11:31 | #25 |
Yiğido
ByKaRaM Şuan
Son Aktivite: 09.02.2016 23:01
Üyelik Tarihi: 26.01.2008
Yaş: 39
Mesajlar: 129
Tecrübe Puanı: 637
|
--->: 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...] |
11.08.2008, 11:52 | #26 |
Yiğido
ByKaRaM Şuan
Son Aktivite: 09.02.2016 23:01
Üyelik Tarihi: 26.01.2008
Yaş: 39
Mesajlar: 129
Tecrübe Puanı: 637
|
--->: 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... |
Konuyu Toplam 1 Üye Okuyor. (0 Kay?tl? Üye Ve 1 Misafir) | |
|
|