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

12>>>

c1L
#1 2009-02-12 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 2009-02-13 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 2009-02-13 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...
This post was edited by m_ogz (2009-02-13 16:12, 15 years ago)
c1L
#4 2009-02-13 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 2009-02-13 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 2009-02-13 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 2009-02-13 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 2009-02-13 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 2009-02-14 00:54
fonksiyonu değiştirdim fakat çalışmadı, hala ç ı ş ğ olarak çıkartıyor ve url'de % olarak gözüküyor...
oc
#10 2009-02-14 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 2009-02-14 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 2009-02-14 03:39
Eklentiyi yeniden kurun, yani Uninstall > Install diye.

Sayfalar ve forumda test ettim, çalışıyor.
c1L
#13 2009-02-14 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 2009-02-14 04:32
Seditio'da nasil yapiliyorsa aynisini yapin ?

Edit--
Site basligini okumamisim, site'nin genelini sandim
kripteks();
This post was edited by kripteks (2009-02-14 04:37, 15 years ago)
oc
#15 2009-02-14 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.

12>>>