Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Антиспам (запрет англоязычных сообщений) (https://javascript.ru/forum/misc/84871-antispam-zapret-angloyazychnykh-soobshhenijj.html)

Ubivectel 23.01.2023 13:10

Да, при обновлении страницы удаляет, что кстати тоже очень неплохо, а новые проходят. Неужели нет решения :(

рони 23.01.2023 13:23

Ubivectel,
на сервере надо фильтровать, а не у клиента

Ubivectel 23.01.2023 13:38

В любом случае спасибо! Буду ломать моск )

Ubivectel 23.01.2023 14:10

Еще мысль пришла, может это отловить на стадии формирования сообщения? Вот по моему код который его создает:

kide.insertNewContent = function (
    uid,
    name,
    text,
    url,
    ti,
    color,
    rango,
    id,
    sesion,
    yo,
    hora,
    img
) {
    if (text.replace(/ /g, "") != "") {
        let c =
            color.length > 0 ?
                'style="color:#' + color + '" class="KIDE_msg"' :
                'class="KIDE_dc_' + this.rangos[rango] + ' KIDE_msg"';
        let div = this.$("KIDE_msgs");
        let nodo = document.createElement("div");
        let insertO = this.$("KIDE_output");
        let s_hora;
        let bquote = document.querySelector("#insertmsg");
        nodo.setAttribute("id", "KIDE_id_" + id);
        nodo.setAttribute("class", "KIDE_msg_top");
        if (this.show_hour)
            s_hora =
                '<span title="' +
                ti +
                '" class="KIDE_msg_hour">' +
                hora +
                "</span> ";
        else s_hora = "";
        let tmp = "";
        if (img && kide.show_avatar) {
            let style = kide.avatar_maxheight ?
                'style="max-height:' + kide.avatar_maxheight + '" ' :
                "";
            tmp =
                "<img " +
                style +
                'src="' +
                img +
                '" class="KIDE_icono" alt="" /> ';
        }
        nodo.innerHTML =
            s_hora +
            tmp +
            '<span style="cursor: pointer" class="KIDE_' +
            this.rangos[rango] +
            '" onclick="kide.insertSmile(\'' + //mod
            name +
            ", ')\" oncontextmenu=\"event.preventDefault();document.querySelector(\'.overlayo\').style.display = \'block\';kide.mensaje('" +
            name +
            "', " +
            uid +
            ", " +
            id +
            ", '" +
            url +
            "', '" +
            ti +
            "', '" +
            sesion +
            "', " +
            rango +
            ", '" +
            img +
            "')\">" +
            name +
            "</span>: <span " +
            c +
            ">" +
            this.filter_smilies(text) +
            "</span>" + "<i class='fa fa-reply qutes' title='Цитировать' aria-hidden='true'></i>" +
            "<i class='fa fa-clipboard K_copy' title='Копировать' aria-hidden='true'></i>"; + //mod
                "<span class='editors'><i class='fa fa-pencil' title='Редактировать' aria-hidden='true'></i></span>"; //mod

        if (this.order == "bottom") {
            this.insertAfter(nodo, insertO.lastChild);
        } else insertO.insertBefore(nodo, insertO.firstChild);
        if (!yo && this.sound == 1) this.play_msg_sound();
        this.ajustar_scroll();
    }
};

рони 23.01.2023 14:22

Ubivectel,
аккуратно вставить

kide.insertNewContent = function (
    uid,
    name,
    text,
    url,
    ti,
    color,
    rango,
    id,
    sesion,
    yo,
    hora,
    img
) {
*!*
    if (/\w{12,}/g.test(text.replace(/\s+/g, ''))) return;
*/!*
    if (text.replace(/ /g, "") != "") {

Ubivectel 23.01.2023 14:29

Ураааааааааааааааа!!! Рони я всегда знал, что ты при написании кода магию применяешь. Спасибище, а то достали неимоверно ))))

рони 23.01.2023 14:34

Ubivectel,
:)

Ubivectel 22.02.2023 09:36

Привет мир!

Добавил проверку на регистрацию:

if (rango == 3 && /\w{12,}/g.test(text.replace(/\s+/g, ''))) return;


И было бы совсем хорошо, но они научились спамить на других языках. Единственное, что приходит в голову, это проверка не содержит ли сообщение ссылки. Как-то во возможно?:help:

voraa 22.02.2023 10:00

Ну ссылки наверно начинаются с http(s)://

Ubivectel 22.02.2023 10:17

Да логику-то понимаю конечно, но синтаксис мое больное место,

if (rango == 3 && http(s):// &&  /\w{12,}/g.test(text.replace(/\s+/g, ''))) return;


Ну не может же быть вот прямо так )


Часовой пояс GMT +3, время: 13:20.