Php‘De Çözümünü Merak Ettiğim İki Soru.
-
1.Sorum : Her browser'ın unique bir id'si var mıdır ? var ise bunu nasıl alabiliriz yada sayfaya giren bir kişiyi nasıl unique hale sokabiliriz.
2.Sorum : Diyelim X.JS diye bir kütüphanem var bunun embed( < ="text/" ="http://www.sitem.com/X.JS"> gibi vs... ) olarak mı çağrıldığını yada direk http://www.sitem.com/X.JS şeklinde sayfa üzerinden mi bakıldığını hangi parametrelerden anlayabilirim ?
-
1.soru : session kullan
2.soru : google da "hotlink protection " diye arat
-
freudSusHaksizsin bunu yazdı
1.soru : session kullan
2.soru : google da "hotlink protection " diye arat
hocam her gelene session açarsam işim var :) daha çok bana o an girilen browser'ı diğerlerinden ayıracak bir parametre lazım.
2.cevabı için ise hotlink protection yapmak istemiyorum sadece nasıl bakıldığını ayırt edebilmek istiyorum.
-
1.sorumun çözümünü buldum sadece 2.yi cevaplasanız yeter :D
-
1.
http://www.php.net/manual/en/function.get-browser.php
unique bi değer vermez.
--
2.
referer kullanabilirsin ama hertürlü aşılır.
görseller için örneği bu şekilde.. sen js uzantısına çevirebilirsin.
-
RewriteEngine On
-
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
-
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?bing\.com/ [NC]
-
RewriteCond %{HTTP_REFERER} !^http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/translate_c [NC]
-
RewriteCond %{HTTP_REFERER} !^http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/search [NC]
-
RewriteCond %{HTTP_REFERER} !^$
-
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://mysite.com/hotlink.jpg [L]
tek garanti yolu tüm sayfalarına süreli session oluştur. js dosyalarında kontrol et, session varsa bastır.
-
-
Hybris bunu yazdı
1.
http://www.php.net/manual/en/function.get-browser.php
unique bi değer vermez.
--
2.
referer kullanabilirsin ama hertürlü aşılır.
görseller için örneği bu şekilde.. sen js uzantısına çevirebilirsin.
-
RewriteEngine On
-
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
-
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?bing\.com/ [NC]
-
RewriteCond %{HTTP_REFERER} !^http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/translate_c [NC]
-
RewriteCond %{HTTP_REFERER} !^http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/search [NC]
-
RewriteCond %{HTTP_REFERER} !^$
-
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://mysite.com/hotlink.jpg [L]
tek garanti yolu tüm sayfalarına süreli session oluştur. js dosyalarında kontrol et, session varsa bastır.
Hocam zaten ben o örnek verdiğim js dosyasını korumak istemiyorum adam sayfaya direk girdiyse başka bir şey yazdırıcam embed çektiyse başka bir şey yazdırıcam yoksa hotlink koruma gibi bir derdim yok.htaccess kullanmadan phpde ki referrerlardan biriyle bu işi yapabilirsem çok işime yarayacak.
-
-
güvenlik gereği değilse siteye değişkenle yerleştir < ="text/" ="http://www.sitem.com/X.JS?embed=1">
js dosyana da ona göre ayar ver.
<?php $nereden = $_get['embed']; if($nereden == '1'){ echo 'embed olarak geldi'; }else{ echo 'x.js olarak çağrıldı'; } ?>
-
Hybris bunu yazdı
güvenlik gereği değilse siteye değişkenle yerleştir < ="text/" ="http://www.sitem.com/X.JS?embed=1">
js dosyana da ona göre ayar ver.
hocam işte zaten derdim o :D get vs. vermek istemiyorum bu durumu headerlardan anlamaya çalışıyorum adreste değişiklik olmayacak aynı adrese sadece nereden erişilmeye çalışıldığını görebilsem yeter ama galiba böyle bir şey yok sağlık olsun :D
-
<?php
if(isset($_SERVER['HTTP_REFERER'])){ preg_match('@^(?:http://)?([^/]+)@i', $_SERVER['HTTP_REFERER'], $matches); $visitor_referer = $matches[1]; if($visitor_referer == 'siteadresi.com'){ ////// Siten üzerinden gelmiş }else{ ////// Dışarıdan gelmiş. } }else{ //// İbnenin nerden geldiği belli değil. } ?> -
Hybris bunu yazdı
if(isset($_SERVER['HTTP_REFERER'])){ preg_match('@^(?:http://)?([^/]+)@i', $_SERVER['HTTP_REFERER'], $matches); $visitor_referer = $matches[1]; if($visitor_referer == 'siteadresi.com'){ ////// Siten üzerinden gelmiş }else{ ////// Dışarıdan gelmiş. } }else{ //// İbnenin nerden geldiği belli değil. } ?>
işte tam aradığım bu hocam süpersin :F
-
else
{
10
//// İbnenin nerden geldiği belli değil.
11
}
:D :D :D :D