Foren / National / Turkish / Eski Konular / Tags plugininde Türkçe karakterli etiket problemi

12NächsteLetzte

c1L
#1 12. Februar 2009, 04:00
Merhabalar,
Tags plugininde türkçe karakterleri %CF %KS vs. gibi gösteriyor, bu da hostla ilgili problem yaratıyor.(% karakteri geçtiği için exploit kodu gibi algılıyor, banlıyor ip'i)
örnek: plug.php?e=tags&a=pages&t=arkada%FE+zekai+%F6zger
Türkçe karakter kullanmamak dışında bu konuyu nasıl çözeriz?

-ş'yi s ç'yi c ü'yü u yapan bi kod sistemi ya da turkce karakterleri farklı biçimde url'ye taşıyan bi sistem ...
n0fx
#2 13. Februar 2009, 07:21
tag sistemi get methodu ile veriyi çektiğinden dolayı veri url yolu ile gelmekte url adresindede malesef türkçe karakter kullanamayız.
https://www.ultima-strike.com
m_ogz
#3 13. Februar 2009, 13:01
Kim banlıyor IP'yi? O şekilde yaparsan da Türkçe'yi Turkche etmiş olursun... Ayrıca burada (cotonti) Türkiye neden Turkiye şeklinde yazılmış onu da anlamadım. UTF-8 değil mi zaten dil dosyaları :-O
Ne hasta bekler sabahı, ne taze ölüyü mezar, ne de şeytan bir günahı, seni beklediğim kadar;<br /><br />
Geçti istemem gelmeni, yoklugunda buldum seni, bırak vehmimde gölgeni, gelme artık neye yarar...

Dieser Beitrag wurde von m_ogz (am 13. Februar 2009, 16:12, vor 16 Jahre) bearbeitet
c1L
#4 13. Februar 2009, 17:09
# n0fx : tag sistemi get methodu ile veriyi çektiğinden dolayı veri url yolu ile gelmekte url adresindede malesef türkçe karakter kullanamayız.

peki veriyi kodlu gönderip(yani ahmet+hasan'ı L2ZvcnVtcy5waHA/bT1uZXd0b3BpYyZzPTM= şeklinde bir yapıya dönüştüp) alındığı yerde yeniden çevirip yorumlayacak bir sistem olamaz mı? (users.php?m=auth'da redirect'in kullandığı gibi?)


bu durumu saldırı olarak algıladığı için sunucu banlıyor ip'yi.
n0fx
#5 13. Februar 2009, 18:52
yapılabilir fakat o zaman tag sisteminin bir anlamı kalmaz. tag sisteminin asıl amacı sitenin daha iyi indekslenmesini ve aramalarda üst sıralara çıkmayı sağlamaktır.
https://www.ultima-strike.com
c1L
#6 13. Februar 2009, 19:54
Bence etiket sisteminin tek amacı o değil, sitede kategorizasyonu yönetmek adına da çok faydalı.
Tabi o çözüm eskisine göre daha iyi olacak değil, ama öneriydi sadece.

O zaman en sağlılısı tag girereken, düzenlerken aramasını yaparken türkçe karakterleri benzerlerine çevirecek bi script eklemek(ş->s ç->c ü->u gibi)

Peki bu konuda yardımcı olabilir misiniz, buna yetecek kadar php bilgim yok.
m_ogz
#7 13. Februar 2009, 22:00
Kodlandığı zaman da % karakteri geliyor. Örneğin ç => %C3%A7 oluyor.
Ne hasta bekler sabahı, ne taze ölüyü mezar, ne de şeytan bir günahı, seni beklediğim kadar;<br /><br />
Geçti istemem gelmeni, yoklugunda buldum seni, bırak vehmimde gölgeni, gelme artık neye yarar...
oc
#8 13. Februar 2009, 22:42
functions.php, satır numarasından tam emin değilim, ancak sed_tag_prep() fonksiyonunun tamamını şöyle değiştirin:

function sed_tag_prep($tag)
{
	$tur = array('Ç','ç','Ğ','ğ','ı','İ','Ö','ö','Ş','ş','Ü','ü');
	$eng = array('C','c','G','g','i','I','O','o','S','s','U','u');

	return sed_sql_prep(mb_strtolower(str_replace($tur,$eng,$tag)));
}

Google gibi arama motorları için sorun oluşturmayacaktır.
c1L
#9 14. Februar 2009, 00:54
fonksiyonu değiştirdim fakat çalışmadı, hala ç ı ş ğ olarak çıkartıyor ve url'de % olarak gözüküyor...
oc
#10 14. Februar 2009, 01:12
Önceden eklenmiş olanlarda elbette çalışmaz. Eskiler için sql'da şu sorgu:

UPDATE sed_tags SET tag=replace(tag, 'ç', 'c');
UPDATE sed_tags SET tag=replace(tag, 'Ç', 'C');

diğer türkçe karakterleri de böyle halledebilirsiniz.
c1L
#11 14. Februar 2009, 02:19
öncekiler için çalışmayacağını kestiriyordum zaten de yeni eklediklerim için çalışmadı?
(yeni sayfa eklerken çığ, rüküş, ölüm kelimelerini girdim aynen çıklar, urlde de %li şekilde görünüyorlardı ? )
oc
#12 14. Februar 2009, 03:39
Eklentiyi yeniden kurun, yani Uninstall > Install diye.

Sayfalar ve forumda test ettim, çalışıyor.
c1L
#13 14. Februar 2009, 04:04
ben de aynı şekilde denedim ama malesef olmadı, localhost'da da sunucuda da denedim, etiketi çığ olarak gösteriyor..

nerde olabilir problem?
kripteks
#14 14. Februar 2009, 04:32
Seditio'da nasil yapiliyorsa aynisini yapin ?

Edit--
Site basligini okumamisim, site'nin genelini sandim
kripteks();

Dieser Beitrag wurde von kripteks (am 14. Februar 2009, 04:37, vor 16 Jahre) bearbeitet
oc
#15 14. Februar 2009, 04:55
@c1L:

Yani bu kod o kadar basit bir kod ki, nerede hata olabileceğini tahayyül edemiyorum. Ben size yeniden sıfırdan kurup (kodun doğruluğunu teyit etmek açısından) belirttiğim şeyleri tekrardan yapmanızı öneriyorum.

Bu arada fonksiyonu functions.php'nin başına falan yazmayacaksınız, direk fonksiyonu değiştirmeniz gerekiyor.

12NächsteLetzte