Filed under: MySQL by admin
UPDATE uyeler AS s , uyelerYedek AS q
SET s.dogumTarihi = q.yas
where s.id = q.id
gibi yaparak eski / yedek tablonuzdaki verileri yeni tablonuzdakilerle değiştirebilirsiniz
ansızın gece nin 5:30 unde uyeler tablosunun dogumTarihi kolonunun veritipini değiştiğinizde (örneğin varchar dan date ) tüm verilerin silineeğini unutmayınız yedeğiniz varsa eski kolondaki verileri alabilirsiniz 
veya substring_index(q.yas,’.',-1) as yil gibi gibi tarihleri parse edipte aktarabilirsiniz.
UPDATE uyeler AS s , uyelerYedek AS q
SET
s.dogumTarihi = concat(
SUBSTRING_INDEX( q.yas , '.', -1 )
,'-',
substring_index(SUBSTRING_INDEX( q.yas , '.', 2),'.',-1)
,'-',
SUBSTRING_INDEX( q.yas , '.', 1 )
)
WHERE s.id = q.id
Filed under: Yazılım by admin
lab.da yaptığımız , hocanın ödev vari verdiği yapmamızı istediği ama kontrol etmediği ( o yüzden ödev varii )
c plus plus örnek kodları : Read More
Filed under: Php, Yazılım by admin
ihtiyacım olmuştu böyle birşeye yazdığım kodu paylaşıyorum amacı örneğin bir key adını değişmek istiyorsunuz bir array da veya object (std class) de bunun için örnek bir fonksiyon
/*
author: saho;
description: php array key degistirici
*/
[code]
function array_key_change($bul,$degis,$haystack)
{
if(is_array($haystack))
{
$don = array();
foreach ($haystack as $key=>$val)
{
if($bul == $key)
{
$don[$degis] = $val;
}
else
{
$don[$key] = $val;
}
}
}
else if( is_object($haystack) )
{
$don = new stdClass();
foreach ($haystack as $key=>$val)
{
if($bul == $key)
{
$don->$degis = $val;
}
else
{
$don->$key = $val;
}
}
}
else
{
$don = false;
}
return $don;
}
[/code]
kullanımı
array_key_change($bul,$degis,$haystack);
$haystack , yığın anlamında depolanan array zend kullanıyorum genelde haystack dediği için artık ingilizcesini yazmak daha manalı daha anlamlı geliyor bana
bul = bulunacak key
degistir = yerine yazılacak key
örneğin json ile şifrelediğiniz bir veri var ve bu
İlişki Tarihi
yazıyor bunu json la encode edemezsiniz önce utf-8 yapcaksınız
utf-8 yapıp saklayacaksınız sonra utf-8 olarak json u decode edeceksiniz sonra bu
İ => b00t89 gibi bir değer alacak bu tarz yerlerde
$haystack->İlişki Tarihi
yapamayız bu gibi şeyler için
key anahtarını değişmemiz gerekebilir ben bu amaçla kullanmıştım
)
Filed under: Html, Php by admin
obje ye yönelik kodlamanın biraz anlaşılması için bir örnek :
class.sayfalama.saho.php
PHP Kodu:
<?php
class sayfalama {
public
$sayfa;
public $suan;
public $geri;
public $ileri;
public $ileriDonguArtisi;
public $ileriDonguLimit;
public $bitis;
public $baslangic;
public $veriSayisi;
public $sayfaVeriLimiti;
public $geriLimit;
public $ileriLimit;
public $arguman;
public $dosya;
public $link;
public
$cssWidthDis = "675px";
public $cssWidthIc = "650px";
public
$cssBg = "#fff";
public $cssColor = "#000";
public $cssFontSize = "11px/15px";
public $cssFontFamily = "tahoma";
public $cssBorderColor = "#eee";
public
$cssHoverBg = "#4f9ecd";
public $cssHoverColor = "#fff";
public $cssHoverFontSize = "11px/15px";
public $cssHoverFontFamily = "tahoma";
public $cssHoverBorderColor = "11px/15px";
function
cssWidthIc($string)
{
return $this->cssWidthIc = $string;
}
function cssWidthDis($string)
{
return $this->cssWidthDis = $string;
}
function cssBg($string)
{
return $this->cssBg = $string;
}
function cssColor($string)
{
return $this->cssColor = $string;
}
function cssFontSize($string)
{
return $this->cssFontSize = $string;
}
function cssFontFamily($string)
{
return $this->cssFontFamily = $string;
}
function cssBorderColor($string)
{
return $this->cssBorderColor = $string;
}
function cssHoverBg($string)
{
return $this->cssHoverBg = $string;
}
function cssHoverColor($string)
{
return $this->cssHoverColor = $string;
}
function cssHoverFontSize($string)
{
return $this->cssHoverFontSize = $string;
}
function cssHoverFontFamily($string)
{
return $this->cssHoverFontFamily = $string;
}
function cssHoverBorderColor($string)
{
return $this->cssHoverBorderColor = $string;
}
function css()
{
$html='<style type="text/css">
.sayfalama {
float:left;
width:' . $this->cssWidthIc . ';
padding-top:5px;
padding-bottom:5px;
margin-left:5px;
display:inline;
}
.syfm {
float:left;
width:' . $this->cssWidthDis . ';
display:inline;
padding:3px;
background:' . $this->cssBg . ';
color:' . $this->cssColor . ';
margin-top:5px;
font:bold ' . $this->cssFontSize . ' "' . $this->cssFontFamily . '";
}
.syfm a #seciliSayfa
{
background:#cc0000;
}
.syfm a{
height:30px;
padding:3px;
background:' . $this->cssBg . ';
color:' . $this->cssColor . ';
margin-left:5px;
text-decoration:none;
border:1px solid ' . $this->cssBorderColor . ';
font:bold ' . $this->cssFontSize . ' "' . $this->cssFontFamily . '";
}
.syfm a:hover{
padding:3px;
background:' . $this->cssHoverBg . ';
color:' . $this->cssHoverColor . ';
margin-left:5px;
text-decoration:none;
border:1px solid ' . $this->cssHoverBorderColor . ';
font:bold ' . $this->cssHoverFontSize . ' "' . $this->cssHoverFontFamily . '";
}
</style>';
return $html;
}
function sayiDurum($sayi)
{
if(substr($sayi,0,1)=='-')
{
return false;
}
else
{
return true;
}
}
function geriLimit($sayi)
{
return $this->geriLimit = $sayi;
}
function ileriLimit($sayi)
{
return $this->ileriLimit = $sayi;
}
function veriSayisi($sayi)
{
return $this->veriSayisi = intval($sayi);
}
function sayfaVeriLimiti($sayi)
{
return $this->sayfaVeriLimiti = intval($sayi);
}
function suan($sayi)
{
return $this->suan = (empty($sayi)) ? 0 : $sayi;
}
function argumanlar($string)
{
return $this->arguman = $string;
}
function dosya($string)
{
return $this->dosya = $string;
}
function link()
{
return $this->link = $this->dosya . "?" . $this->arguman;
}
function sayfa()
{
//try
//{
$this->sayfa = intval($this->veriSayisi / $this->sayfaVeriLimiti);
// if(!$this->sayfa)
// {
// throw new Exception('sıfıra bölünemez');
// }
//}
//catch (Exception $e) {
// echo 'Hata: ', $e->getMessage(), "\n";
//}
return $this->sayfa;
}
function geri()
{
return $this->geri = $this->suan - 1;
}
function ileri()
{
return $this->ileri = $this->suan + 1;
}
function ileriDonguArtisi()
{
$this->ileriDonguArtisi = $this->geriLimit - $this->suan;
if($this->sayiDurum($this->ileriDonguArtisi))
{
return $this->ileriDonguLimit = ($this->suan + $this->ileriLimit + $this->ileriDonguArtisi);
}
else
{
return $this->ileriDonguLimit = ($this->suan + $this->ileriLimit);
}
}
function bitis()
{
for($j=$this->suan;$j<$this->ileriDonguLimit;$j++)
{
if($j<$this->sayfa)
{
$temp = $j;
}
else
{
break;
}
}
return $this->bitis = $temp;
}
function baslangic()
{
for(
$k=$this->suan;$k>($this->suan-$this->geriLimit);$k--)
{
if($this->sayiDurum($k))
{
$temp = $k;
}
else
{
break;
}
}
return $this->baslangic = $temp;
}
function derle()
{
$this->sayfa();
$this->ileri();
$this->geri();
$this->ileriDonguArtisi();
$this->bitis();
$this->baslangic();
$this->link();
$html = null;
$html.= $this->css();
$html.="<div class='temizle'></div>";
$html.='<div class="sayfalama">
<div class="syfm"> Sayfalar:';
// buradaki linkleri - link title ve << , >> işaretlerinide class dan ayarlaniblir hale getirecez bir ara
if($this->sayiDurum($this->geri))
{
$html.="<a href='{$this->link}&sayfa=0' title='İlk son sayfaya git'>««</a> ";
$html.="<a href='{$this->link}&sayfa={$this->geri}' title='Bir önceki sayfaya git'>« Geri</a> ";
}
//echo "basla : {$this->baslangic}<br>Bitiş {$this->bitis}<hr>";
for($i=$this->baslangic;$i<=$this->bitis;$i++)
{
if($this->suan == $i)
{
$html.="<a id='seciliSayfa'>".($i+1)."</a>";
}
else
{
$html.="<a href='{$this->link}&sayfa={$i}' title='".($i+1).".Sayfaya git'>".($i+1)."</a> ";
}
}
if($this->ileri<$this->sayfa)
{
$html.="<a href='{$this->link}&sayfa={$this->ileri}' title='Bir sonraki sayfaya git'>İleri »</a> ";
$html.="<a href='{$this->link}&sayfa={$this->sayfa}' title='En son sayfaya git'>»»</a> ";
}
$html.="</div>
</div>";
return $html;
}
}
?>
uygulaması :
PHP Kodu:
/// sayfalama yapılıyor
// $kriter burada id='{$_GET['id']}' veya baslik like '%{$_GET['kelime']}%' gibi kriter belirtebilirsiniz.
$were = empty($kriter) ? "where {$kriter}": null;
$saySql = mysql_query("select count(id) from tablo $were"); // sayım yapılıyor
list($veriSayisi) = mysql_fetch_row($saySql);// değişkene atanıyor
include_once"class.sayfalama.php";/// sdosya çağırılıyor
$sayfala = new sayfalama();/// sayfalama nesnesi tanımlanıyor
$sayfala->veriSayisi($veriSayisi);// max veri sayısı belirtiliyor
$sayfala->sayfaVeriLimiti(27);// 1 sayfada gözükecke veri limiti
$sayfala->ileriLimit(8);// örneğin 15. sayfada ilerilimit 8 yapılırsa aşağı barda 23 e kadar olan bir listeleme yapılır
$sayfala->geriLimit(6);// örneğin 15. sayfada gerilimit 6 yapılırsa aşağı barda 9 e kadar olan bir listeleme yapılır
$sayfala->suan($_GET['sayfa']);// şuan kaçıncı sayfada olduğu saptanıyor bununla
eğer şuanki sayfa ise link vermiyoruz tekrar dan farklı belirteçlerde kullanılabilir
$sayfala->argumanlar("bolum={$_GET['bolum']}&obje={$_GET['obje']}&kelime={$_GET['kelime']}");// burada get le verilen argümanlar konuyor bunun yerine başka türlü nasıl yapacağınızı aşağıdaki notta bulabilirsiniz
$sayfala->dosya("index.php");// sayfalama linkinin verileceği sayfa
echo $sayfala->derle();// tanımlamaların hepsi derlenip ekrana yazdırılıyor
//// sayfalama bitiyor
not :
$sayfala->argumanlar(”bolum={$_GET['bolum']}&obje={$_GET['obje']}&kelime={$_GET['kelime']}”);
yerine
$argumanlar = array();
foreach($_GET as $key=>$val) $argumanlar[] = “{$key}={$val}”;
$argumans = implode(’&’,$argumanlar);
$sayfala->argumanlar($argumans);
gibi bir uygulama yapılabilir
css içerisine katmayadabiliriz ama renkleri vs
$sayfala->cssBorderColor(’#000000′);
gibi gibi yöntemlerle düzenleyebiliyorsunuz
ayrıca sayfalama.css gibi bir dosyayı sürekli sürekli yanında taşımamak için ben bu türlü kullanmaktayım
input u class olarak çağırmak için bir örnek :
class.html.saho.php
PHP Kodu:
class input
{
private $name;
private $id = false;
private $value;
private $type = "text";
private $text = false;
private $class_ = "none";
public function
__construct($name)
{
$this->name = $name;
}
function
name($string)
{
$this->name = $string;
}
function id($string)
{
$this->id = $string;
}
function type($string)
{
$this->type = $string;
}
function value($string)
{
$this->value = $string;
}
function text($string)
{
$this->text = $string;
}
function class_($string)
{
$this->class_ = "class='{$string}'";
}
function derle()
{
if($this->id == false)
{
$this->id = $this->name;
}
$html="<input type='{$this->type}' name='{$this->name}' value='{$this->value}' id='{$this->id}' />";
if($this->text != false)
{
$html.="<label for='{$this->id}' {$this->class_}>{$this->text}</label>";
}
return
$html;
}
kullanımı için :
[php]
include_once”class.html.saho.php”;
$input = new input(’kelime’);
$input->value($_GET['kelime']);
echo $input->derle();
gibi bir yöntemle
ekrana input yazdırabilirsiniz
diğer özellikler inide ->id,size,type belirtebilirsiniz ayrıca
$input->text(’kelime giriniz:’);
gibi bir text parametreside gönderirseniz yeni bir label de oluşturacaktır bu sayede
kelime giriniz: yazısına tıkladıklarında kelime input una otomatik focus lanacaklardır
bu örnekleri artırmak mümkün örneğin son input oluşturma örneğimiz objeye yönelik olmasaydı nasıl olurdu?
şöyle olur du :
PHP Kodu:
function input($name,$type,$id,$value,$ex=null) {
$html = "<input type='{$type}' name='{$name}' value='{$value}' id='{$id}' {$ex} />";
return $html;
}
echo input('saho','type','idcik','valuecik','...');
gibi biraz daha karışık gibi duruyor name,type,id argüman sıralamasını ezbere bilmeniz gerekiyor kodlarınızı bir başkası kullanmak istediğinde öğrenmesi gerekebiliyor bu az satırlı bir kod kümesi bunun büyük bir proje olan halini düşündüğünüzde objye yönelik yazımın kod sade temizliğinin olduğuna anlışabilir olduğu , ekip olarak çalışıldığında anlaşılması ve kullanılması daha kolay olduğu gözükebiliyor
bir kaç örnek vermek istedim oop konusunda forumda oldukça fazla yazdık arama yaparak o konularada ulaşabilirsiniz.
not: eksikler olabilir örneğin sayfalama classı nı ilk önce function halinde yapmıştım baktım çok karışık oldu alel acele class a dökmüşüm eksiklerim olabilirm mükemmel değiliz en nihayetinde , alel acele paylaşma sebebimde msn den sürekli 1-2 arkadaş rahatsız edip oop hakkında birşeyler soruyorlar bu sebeple foruma ve blog yazayım herkez öğrensin dedim
Filed under: Yazılım by admin
kurs hakkında kısa bilgiler ;
içeriği : php, mysql , temel html , js, css, ajax
süre: ~ 3 ay (boş vakti bol olanlar için ayrı bir grup yapılıp süre kısaltılabilir)
Süre: 1 – 1.5 ay olacak
Kurs Saatleri : Hafta sonlar sabah 8-9 ile 1-2 arasında değişecek , önce teknik kullanımlar hafif örnekler ,daha sonrada uygulamalar yapılacak… ( önceki haftalardan anlamadığı sorunlar olanlar kursdan , sonra bekleyip abartmadan sorabilir)
mekan: bakırköy – mecidiyeköy , ulaşımın ağının kolay olmasından dolayı mecidiyeköy olabilir
Mekan: %95 Bakırköy olacak.
ücret : 750-1000 ytl arasında giderler hesaplanıp ona göre belirlenecek istenildiği takdir de taksit yapılabilir.
konu nun çapı biraz değişmiştir ama fikir aşamasındadır şartlar olgunlaşırsa
http://www.r10.net/webmaster-genel-konular-sorunlar/302817-istanbul-bogazici-universitesinde-php-kursu.html
buradaki yazılanlar çerçevesinde kurs yeniden şekillenebilir.
Filed under: Php by admin
3)Kullanıcı tarafından girilen iki sayının kuvvetini bulup ekrana yazan fonksiyonu yazınız.
6)Girilen final ve vize notlara göre not ortalamasını yazan ptroğramı yazınız.(ortalama alınırken final notunun 60% vize notunun 40%alınacak.)
10)Bir dizideki en büyük ve en küçük elemanların farkını bulup ekrana yazan proğramı y6azınız.
11)Bir dizinin aritmatik ortalamasını bulan proğr5amı yazınız.
♦♥♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♥♦
11
[php]<form>
<textarea name=”veri” rows=”5″></textarea>
<input type=”submit”>
</form>
<?php
//11)Bir dizinin aritmatik ortalamasını bulan proğr5amı yazınız.
if($_GET)
{
extract($_GET);
$dizi = explode(”\n”,$veri);
$dizi = array_map(’trim’,$dizi);
$toplam = array_sum($dizi);
$sayi = count($dizi);
$ortalama = $toplam / $sayi;
echo $ortalama;
}
?>[/php]10
[php]<form>
<textarea name=”veri” rows=”5″></textarea>
<input type=”submit”>
</form>
<?php
//10)Bir dizideki en büyük ve en küçük elemanların farkını bulup ekrana yazan proğramı y6azınız.
if($_GET)
{
extract($_GET);
$dizi = explode(”\n”,$veri);
$dizi = array_map(’trim’,$dizi);
$max = max(array_values($dizi));
$min = min(array_values($dizi));
echo “max : {$max} && min : {$min}”;
}
?>[/php]6
[php]<form>
<input type=”text” name=”vize”>
<input type=”text” name=”final”>
<input type=”submit”>
</form>
<?php
//6)Girilen final ve vize notlara göre not ortalamasını yazan ptroğramı yazınız.
//(ortalama alınırken final notunun 60% vize notunun 40%alınacak.)
if($_GET)
{
extract($_GET);
$vize = ceil( $vize * 40 / 100 );
$final = ceil($final * 60 / 100 );
$ortalama = $vize + $final;
echo $ortalama;
}
?>[/php]3
[php]<form>
<input type=”text” name=”bir”>
<input type=”text” name=”iki”>
<input type=”submit”>
</form>
<?php
//3)Kullanıcı tarafından girilen iki sayının kuvvetini bulup ekrana yazan fonksiyonu yazınız.
if($_GET)
{
extract($_GET);
$toplam = 1;
for ($i=1;$i<=$iki;$i++)
{
$toplam *= $bir;
}
echo $toplam;
}
?>[/php]
4
[PHP]<?php
//4)1,1,2,3,5,8,13,21,34….şeklinde devam eden seriye fibonacci sersi denir.Buna göre 10 adımlık seriyi yazan proğramı yazınız.
$temp = 0;
$eleman = 1;
$toplam = 1;
for($i=0;$i<10;$i++)
{
$toplam = $eleman + $temp ;
$eleman = $temp;
$temp = $toplam;
echo $toplam.”, “;
}
//çıktısı = 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,
?>[/PHP]
oldukça fazla yöntemle yapılabilirler zevkliydi
Filed under: Ajax, MySQL, Php, Salata by admin
prefix değişici kodları
[cc lang="php"]
<?
//mysql bağlantısı
$dbkullaniciadi=”";
$db_sifre=”";
$dbname=”";
//prefix ayarları
$onceki_prefix =”nuke”;
$yeni_prefix=”yeniprefixinizinozgunuydurdugunuzadi”;
//düzenleme bitti
if (!mysql_connect(’localhost’, “$dbkullaniciadi”, “$db_sifre”)) {
echo ‘Mysql bağlantısını kuramadım’;
exit;
}
$sql = “$dbname”;
$result = mysql_list_tables($sql);
while ($row = mysql_fetch_row($result)) {
echo “<b>$row[0]</b> değiştirildi ve\n”;
$row2['0'] = str_replace(”$onceki_prefix”,”$yeni_prefix”, $row['0']);
mysql_query(”ALTER TABLE `$row[0]` RENAME `$row2[0]`”) or die(mysql_error());
echo”<b>$row2[0]</b> oldu<br>”;
}
?>
[/cc]
netopsiyon forumu için link
Filed under: Ajax, Html, MySQL, Php, Yazılım by admin
hazır yatmadan önce güvenlikle alakalı fonksiyonlara değineyim hafiften
htmlspecialchars-htmlentities
htmlentities iso-8859-9 ve latin5 yani türkçe desteklemiyor ,ent_quotes,iso-8859-9 yapsanda nafile bu yüzden sayfanız utf-8 yada latin1 falansa kullanmanız yoksa benzeri işi yapan
htmlspecialchars ı kullanmanızı öneririm mesala
form yaptınız
[php]
<?
if(empty($_POST)) { ?>
<form action=” method=’post’>
<input type=text name=’icerik’>
<input type=submit value=’Git’>
</form>
<? } else {
echo $_POST[icerik];
}
?>
[/php]gibi yazdırırsanız şuan hiç bir süzme işlemi yapmadınız normal insanlar kullanablir ama
sizin bu iyineyitinizi suistimal edecek bir ton hacker-lamer bulmak mümkün onlar da sizi bulur yada…
bu yüzden mesala oradan
ahmet yazıp gönderebilir ama
<script>….</script>
<script>document.cookie</script>
daha bir ton zararlı kod varyasyonları var bunları mesala direk engelleyebilirsiniz
buradan html bir kod gelmesini beklemiyorsanız htmlspecialchars ile direk tüm gelen html kodlarını egale edebilirsiniz sql de synatx hatalara verecek kodlar içinde addslashes ekliyoruz bunları topluça şöyle yazalım
[php] $_POST[icerik]=addslashes(htmlspecialchars($_POST[icerik]));[/php]mesala hiç ama hiç htmlkod gelmesini beklemiyosunuz direk kökten html temizlik için
[php] $_POST[icerik]=strip_tags($_POST[icerik]);[/php]fonksiyonunu kullanmanız yerinde olacaktır
mysql e gireceğiniz verilere or union vs. lere replace yapıp slashes eklemek yeterli gibi görünsede php.net mysql_real_espace_string fonksiyonunu öneriyor güvenlik sayfasında
yine diğre fonksiyonlar gibi yapıp post dizisinin input namesini [] keyi ile belirtip bir birine eşitleyebiliriz yada bir değişkene atayabiliriz yada yine aynı input keye ayarlıyacaksak
üstte vermiştim tekrar yazayım
[php]
<?
if(empty($_POST)) { ?>
<form action=” method=’post’>
<input type=text name=’icerik’>
<input type=submit value=’Git’>
</form>
<? } else {
foreach($_POST as $saho=>$ankabt) $_POST[$saho]=strip_tags($_POST[$saho]);
echo $_POST[icerik];
}
?>
[/php]gibi kullanabiliriz
birde bu foreach ı böyle inputtan gelen 15-20 veri gelirken hepsine uygulayıp çokdaha pratik olabilirsiniz diğer yöntem ise
[php] $icerik=strip_tags($_POST[icerik]);[/php]gibi yapabilirsiniz
yine sql e işleyecekseniz
foreach kısmında dönerken veri
[php] $_POST[$saho]=mysql_real_escape_string($_POST[$saho]);[/php]gibi kullanabilirsiniz…
birdemesala
get-posttan gelen tüm veriyi sql e işlemede slashes lemek sql den mesala
fetch_array-row-assoc vs. array diziye atıyorsanız yani oradan da okurken stripslashes yaparak veriyi güvenli şekilde yazıp okuyabilirsiniz.
—
[php] foreach($_POST as $saho=>$anka) $_POST[$saho]=@addslashes($_POST[$saho]);
foreach($_GET as $saho=>$anka) $_GET[$saho]=@addslashes($_GET[$saho]);[/php]–
gelen tüm veriyi slashes ledik
çıkan veride mesala
–
[php]$saho=mysql_fetch_array(mysql_query(”select adi from videolar where id=’5′ “));
foreach($saho as $an=>$ka) $saho[$an]=stripslashes($saho[$an]);
gibi kullanabilirsiniz[/php]
Filed under: Yazılım by admin
Resim galerisi kullanan arkadaşlar, eğer gerçekten lazımsa size resim galerisi. resimlerin olduğu klasöre bir htaccess dosyası atın ve içine şunu yazın
<files *>
ForceType image/jpeg
</files>
eğer vay efendim bu olmadı derseniz. ya da diyosanız ki bizim ki sadece resim galerisi değil, dosya upload da var, böyle hepsi resim gibi çalışmaya başladı diye,
<FilesMatch “\.(php|tpl|php3|php4|asp)$”>
ForceType text/plain
</FilesMatch>
Filed under: Yazılım by admin
eger baska sitelerden dosya indirilmesini ve dinlenmesini engellemek icin
####################
dosyalarınız başka sitelerden indirilmesin.
açın root dizinindeki .htaccess dosyanızı
Kod
RewriteEngine on
#referer i kontrol edelim
RewriteCond %{HTTP_REFERER} !^http://(www.)?hakyolcusu.com(/)?.*$ [NC]
#bizim siteden değilse belirttiğimiz uzantıları isteyenleri “yassak_hemserim.php” ye gonderelim.
RewriteRule .*.(rar|mp3|zip)$ http://www.hakyolcusu.com/yasak.php [R,NC]
ekliyoruz.
şimdi burda ne yaptık
#referer i kontrol edelim
RewriteCond %{HTTP_REFERER} !^http://(www.)?fesih.com(/)?.*$ [NC]
bu kodla referer gönderen kişinin nerden geldiğini öğreniyoruz.
yani fesih.com veya Fesih B�ER adresine izin veriyoruz.
baktık adam bizim siteden dosyayı indirmiyor. o zaman adamı buraya gönderiyoruz.
RewriteRule .*.(rar|mp3|zip)$ fesih.com barikatı [R,NC]
ok. inşallah anlamışsınızdır.
örneğini görmek için
www.fesih.com/wapmodul.rar
Not:Sunucuda yuklu olan Apache Web Server için mod_rewrite modulu çalışabilir durumda olmalıdır
alıntı