Форуми / National / Turkish / Eski Konular / Tags plugininde Türkçe karakterli etiket problemi

12>>>

c1L
#1 12.02.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.02.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.02.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...

Відредаговано: m_ogz (13.02.2009 16:12, 15 років тому)
c1L
#4 13.02.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.02.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.02.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.02.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.02.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.02.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.02.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.02.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.02.2009 03:39
Eklentiyi yeniden kurun, yani Uninstall > Install diye.

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

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

Відредаговано: kripteks (14.02.2009 04:37, 15 років тому)
oc
#15 14.02.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.

12>>>