Kategoriler
Kodlama

Japonca, Çince ve Korece harfleri tespit etmek

Websitesine yapılan Japonca, Çince ve Korece anahtar kelime saldırılarını bertaraf etmek üzerine bir fikir.

Malumunuz son dönemde web sitelerine sıkça Japonca ve bazen Çince ve Korece harf/kelimeler ile anahtar kelime saldırıları yapılmakta. Bunu Google kendisi de açıkladı ve bazı korunma yöntemlerini gösterdi.

Burada paylaşacağım kod ile Japonca, Çince ve Korece harflerden oluşan bir dizgeyi tespit edebilirsiniz, bu sayede eğer böyle bir sorgu gelirse ona göre kendi direktifinizi verebilirsiniz.

function isJapanese($string) {
    return preg_match('/[\x{4E00}-\x{9FBF}\x{3040}-\x{309F}\x{30A0}-\x{30FF}]/u', $string);
}
function isChinese($string) {
    return preg_match("/\p{Han}+/u", $string);
}
function isKorean($string) {
    return preg_match('/[\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]/u', $string);
}
function isCJK($string) {
    return isJapanese($string) || isChinese($string) || isKorean($string);
}

Kullanımı ise örneğin şöyle olabilir:

if (isCJK($birsey)):
    return "Bu dizgede Çince, Japonca veya Korece var!";
endif;

Dilerseniz tek tek de kullanabilirsiniz:


if (isJapanese($birsey)):
    return "Japonca var!";
endif;
?>
<?php
if (isChinese($birsey)):
    return "Çince var!";
endif;
?>
<?php
if (isKorean($birsey)):
    return "Korece var!";
endif;

Buradan test edebilirsiniz: http://tpcg.io/rxUqQAWj

Alternatif olarak proje ve dizge kullanımı tamamen İngilizce veya latin karakterlerden oluşuyor ise elbette PHP iconv fonksiyonu daha hızlı ve verimli olabilir https://stackoverflow.com/questions/3654879/remove-non-english-characters-php

Bunu JavaScript veya başka programlama dilleri ile de uyarlayabilirsiniz, mümkün.

Bu arada uzmanlar İngilizce harici 2. dil olarak Çince öğrenmenizi öneriyor bilginize, genç olsam Çinceye sarardım. Görsel https://www.youtube.com/watch?v=1LYMvc8u6Iw adresinde Fulden Rich hanımefendinin Youtube videosuna aittir.

Kolay gelsin.

WOLKANCA

Volkan Yılmaz

Digital Marketing & WordPress & SEO volkan@volkanyilmaz.com.tr