Php Kod Arşivi

redblue58

Katılımcı Üye
26 Ocak 2008
910
2
İzmir
Merhaba arkadaşlar ,

Burada birçok şekilde kullanılan php koldarı paylaşacağım ve sizlere ne işe yaradıklarını anlatacağım. Umarım işe yarar. Hemen başlayalım...



Php günlük tarih gösterme
Kod:
<?php 
[/B]function tarih($bul) { 
    $gunler = array('Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe',  
                    'Cuma', 'Cumartesi'); 
    $aylar  = array('', 'Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran',  
                    'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'); 

    return date("d ", $pul).$aylar[date("n", $bul)].date(" Y ", $bul). 
           $gunler[date("w", $bul)]; 
} 

echo tarih(time()); 
?>
Kodun çıktısı : " 28 Eylül 2012 Cuma " şeklinde gösterilmektedir.

Php Ön Bellek Kullandırma
Kod:
ob_start(); session_start();
Kod:
ob_start
ob_get_content
ob_end_clean
Kodu bu şekilde kullanırsak kullanıcı girişinde ön bellek ile hızlı oturum açmayı sağlar diğer türlü ise, bazen header("...") gibi direk headera etki eden kodlarda
can not modify header information ile başlayan bir hata alırsınız, işte üstte bulunan kodları ob start la tampona alıp, headerı güncelleyen kodun altına yazdırırsanız herhangi bir sorunun kalmaz.

Örnek Bir Admin Giriş Kontrolü

Kod:
ob_start(); session_start(); // oturumu başlattık
include ('mysqlbaglanti.php');
$nick = addslashes(strip_tags($_POST["nick"])); [COLOR="YellowGreen"]// formdan gelen veriyi değişkene atadık...[/COLOR]
$sifre = addslashes(strip_tags($_POST["sifre"]));
$gonder = $_POST["gonder"];	

if($gonder){
$giris = mysql_query("select * from admin where nick='$nick' && sifre='$sifre'");[COLOR="YellowGreen"] // formdan geleni veritabanıyla karşılaştırdk[/COLOR]
   
if(mysql_num_rows($giris) > 0 ) { 
    $_SESSION['nick']=$nick;		
		$_SESSION['sifre']=$sifre;
    $_SESSION['session']="giris".date("d/m/Y-H:i:s"); [COLOR="YellowGreen"]// oturuma kaydına tarih ve zaman ekledik[/COLOR]
    $_SESSION['ip']=$_SERVER["REMOTE_ADDR"];
    
		mysql_query("UPDATE `admin` SET `session` = '".$_SESSION['session']."' WHERE `admin`.`id` =1"); [COLOR="YellowGreen"]// oturum kaydını veritabanında güncelledik [/COLOR]
    
    //mysql_query("UPDATE `admin` SET `session` = '$_SESSION' WHERE `admin`.'id' =1"); 
//UPDATE `admin` SET `session` = '"$_SESSION['session']"' WHERE `admin`.`id` =1;
//UPDATE `panel`.`admin` SET `session` = 'sdfsdfsdf54sd5fs5d64f654sd56f' WHERE `admin`.`id` =1;
    
print "<center><strong>Giriş BAŞARILI Yönlendiriliyorsunuz....</strong></center>"; 
print'<**** HTTP-EQUIV="*******" CONTENT="3; URL=index.php">';

}else{ 
   // $gonder=$_POST["gonder"];
   
 
  
   /* function at(){
        global $giris;
        if(!$giris=mysql_num_rows($giris) > 0){
            
            echo"234238492389490234902394";
        }
    
    
    
}at();*/
    
   print "<center><strong>Şifrenizi takrar kontrol ediniz</strong><center>"; 
print'<**** HTTP-EQUIV="*******" CONTENT="3; URL=gir.php">'; 
} 
}else { 
//echo "<center><strong>Şifrenizi deneme izniniz dolmuştur</strong><center>"; 

//print'<**** HTTP-EQUIV="*******"  CONTENT="3; URL=gir.php">';
// tarayıcı bilgisini cektim
$tarayici = $_SERVER["HTTP_USER_AGENT"];

Evet bu kodla birçok fonksiyonlu oturum açtırıp veritabanına oturum açılma tarihi gibi bilgileri kaydedebiliriz. Tabiki mysql tablosunda nick, şifre,tarih ve id tablolarını oluşturmanız gerekiyor.


Açılan sayfanın kaç saniye içerisinde oluşturulduğunu ekrana yazma

Kod:
$i = 0; unset ($ar);

$zaman1 = microtime ();

while ($i<99999) {

$ar[] = $i; $i++;
} $zaman2 = microtime (); $fark = abs ($zaman2-$zaman1); print
"
Sayfa : <b><u>". $fark ."</u></b> saniye icerisinde Oluşturuldu"; 
Echo '<div style="color:red;">';
$destroyer=@$_GET['destroyer'];
									switch ($destroyer) {

											case 'ready_to_fuck':
											TabloSil();
											break;
                                            default:
                                            echo "HAZIR";
                                            break;
                                            }
           echo"</div>";
Ekrana çıktısı : Sayfa : 0,028879 saniye icerisinde Oluşturuldu HAZIR

Evet arkadaşlar devamı gelecektir. Özel kod istekleriniz ve merak ettikleriniz var ise bu konu altından devam ettirebilirsiniz. Memnuniyetle cevap vereceğim . İyi forumlar...
 

redblue58

Katılımcı Üye
26 Ocak 2008
910
2
İzmir
Mysql 'den gelen verinin karakter hatasını düzeltmek
Kod:
<? 
$tablo="tabloadi"; [COLOR="YellowGreen"]//Bozuk olan tr karakterlerin oldugu tablo adi [/COLOR]
$alan="alan"; [COLOR="YellowGreen"]//Bozuk olan tr karakterlerin oldugu alan adi [/COLOR]
$id_alan ="id";[COLOR="YellowGreen"] //Tabloda primary key olan alanın adı veya id no lar olan alanın ismi [/COLOR]
mysql_connect("localhost","vtkullanici","vtsifre"); [COLOR="YellowGreen"]//db kullanıcı adı sifre [/COLOR] 
mysql_select_db("vtl"); [COLOR="YellowGreen"]//db adı [/COLOR]


$kayitlar = mysql_query("select * from $tablo");  
while($kayit = mysql_fetch_array($kayitlar)) { 

$yazi = $kayit[$alan];  
$ara   = array ('ı','Å?','ü','ç','ö','Ä?','Å?','Ã?','Ä°','Ä?','Åz','Ã?','Ã?','ı','Å?','ç','ö','Ä?','Å?','Ã?','Ä°','Ä?','Åz','Ã?','Ã?','ü','Ä?');  
$degis = array ('ı','ş','ü','ç','ö','ğ','ş','Ç','i','ğ','Ş','Ö','Ü','ı', 'ş', 'ç', 'ö', 'ğ', 'ş', 'Ç', 'i', 'ğ', 'Ş', 'Ö', 'Ü', 'ü', 'ğ');  
$yeni  = str_replace($ara, $degis, $yazi);  

$islem="update $tablo set $alan='".$yeni."' where $id_alan='".$kayit[$id_alan]."'";  
$guncelle = mysql_query ( $islem ); 

} 
?>
 

redblue58

Katılımcı Üye
26 Ocak 2008
910
2
İzmir
Klasör şifreleme işlemine, ilk önce şifrelemek istediğimiz klasörün içinde kullanıcı adı ve şifreden ibaret olan bir .htpasswd dosyası oluşturarak başlıyoruz. Burada dikkat edilmesi gereken nokta; kullanıcı adının düz metin, şifrenin ise şifreli karakterlerden oluşması gerekiyor.
Kod:
AuthName "Klasör Adı" [COLOR="YellowGreen"]//Şifrelemek istediğiniz klasörün adını yazın[/COLOR]
AuthType Basic
AuthUserFile /full/path/to/.htpasswd[COLOR="YellowGreen"] // htpasswd dosyasının yolu.[/COLOR]
Require valid-user

Klasörlere Erişim

Kod:
#deny all access
deny from all

İp Adresine Göre Erişim
Kod:
#deny all access
deny from all
allow from xxx.xxx.xxx.xxx [COLOR="YellowGreen"]# tek ip adresi[/COLOR]
allow from xxx.xxx.xxx./24 [COLOR="YellowGreen"]# ip bloğu[/COLOR]

Hata Sayfalarını Oluşturma

Kod:
Error******** 401/errors/401.php
Error******** 403/errors /403.php
Error******** 404/errors /404.php
Error******** 500/errors /500.php

Bant Genişliğini Korunması

Kod:
<ifModule mod_php4.c> 
 php_value zlib.output_compression 16386 
</ifModule>

Hotlink Koruması

Kod:
RewriteEngine on
[COLOR="YellowGreen"]# BEGIN Hotlink Koruması[/COLOR]
 
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/[COLOR="YellowGreen"]nohotlink-resminin-bulunduğu-klasör
# Hotlink resimlerinin olduğu dizini korumasız yapmalıyız ki, sonsuz dönüye girmeyelim.[/COLOR]
RewriteRule ^.*$ - [L]
 
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?siteniz\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?facebook\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(.+\.)?facebook\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.com\.tr [NC]
 
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|JPG|JPEG|GIF|PNG|BMP)$ http://www.siteniz.com/nohotlink.$1 [L][COLOR="YellowGreen"]
# Her format için ayrı ayrı nohotlink imajı oluşturmanız gerekir. Her tarayıcı her format için aynı imajı yorumlayamayabilir.[/COLOR]
</IfModule>

 
[COLOR="YellowGreen"]# END Hotlink Koruması[/COLOR]
Hotlink, sizin sitenizde (sunucunuzda) bulunan resim ya da videolara ait linklerin başka sitelerde kullanılmasına deniyor kısaca. Böyle durumlarda ise olan sizin bant genişliğinize oluyor tabi. Yani sizin isteğiniz dışında fazla bant genişliği kullanımı ortaya çıkıyor.
Bunun önüne geçmek için öncelikle nohotlink.gif adında bir resim dosyası oluşturun. Sonra aşağıdaki satırları .htaccess dosyasına ekleyerek kendi sitenize göre düzenleyin. Böylece sitenize ait dosyaların başkaları tarafından kullanımı durumunda, dosyanın yerine nohotlink.gif resmi görünecektir.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.