Bug Report BOOLEAN MODE <<< hatası
2026-06-24 02:04:41
#1

https://www.forum.megaforbb.org/search?q=<<<<<<<<<<<<<<<<<<<<

ciddi birşey değil ama bug sayılır, MySQL Fulltext sorgusuna çevirmeye çalıştı , BOOLEAN MODE < < bu tür sembolleri kabul etmiyor , mysql da sorguyu parse edemeyince hata verdi.

2026-06-25 21:20:03
#2

Merhabalar, Bildiriminiz için teşekkürler, fix yapıldı yayına alacağım hemen fix hali ile.

Hataya ve çözümüne gelecek olursak;

App/Services/SearchService.php → sanitizeSearchQuery() içinde:

Eksik temizlik: Regex sadece + - * " ( ) karakterlerini siliyordu; BOOLEAN MODE'un diğer operatörleri < > ~ @ temizlenmiyordu.

Asıl tetikleyici fallback: return implode(' ', $safe) ?: $query; satırı — tüm kelimeler temizlenip $safe boş kalınca ham kullanıcı sorgusunu geri döndürüyordu. Yani <<<<<<<< doğrudan MySQL'e gidiyordu.

Çözüm olarak ise;

Temizleme regex'ine < > ~ @ karakterleri eklendi: /[+\-*"()<>~@]/u

?: $query fallback'i kaldırıldı. Artık kullanılabilir hiçbir kelime kalmazsa boş string dönüyor. Bunu çağıranlar "fulltext terimi yok" olarak yorumluyor:

* Posts: $useFulltext false olur → güvenli LIKE aramasına düşer.

* Topics: Meilisearch'e ham metin gider (orada parse hatası olmaz).

Bu sayede <<<<<<<>>>>~@ gibi yalnızca özel karakterlerden oluşan aramalar artık MySQL hatası vermeden boş/güvenli sonuç döndürür.

Yazdığımız şeyler bizi temsil eder, Efendilik iyidir.
Please Login or Register.
Currently 1 people reading this topic. (1 guest(s))
Currently reading 0
Reacted 2
MegaFoxSlaweally