Имел ввиду, как в коде реализоватьСам спросил - сам ответил
Аааа понятно.Имел ввиду, как в коде реализовать
var whitelistState = true; // whitelist state true / false
mp.events.add('playerJoin', player => {
if(whitelistState)
{
mysql.executeQuery(`SELECT * FROM white_list WHERE social = '${player.socialClub}'`, function (err, rows, fields) {
if (!rows.length) {
player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!");
player.kick();
return;
}
});
}
});
пасебаАааа понятно.
JavaScript:var whitelistState = true; // whitelist state true / false mp.events.add('playerJoin', player => { if(whitelistState) { mysql.executeQuery(`SELECT * FROM white_list WHERE social = '${player.socialClub}'`, function (err, rows, fields) { if (!rows.length) { player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!"); player.kick(); return; } }); } });
mp.events.add('server:login:success:after', (player:PlayerMp) => {
if(!methods.isTestServer()) return true;
if (whitelist.list.includes(player.socialClub.toLowerCase()) || player.ip == "127.0.0.1") return true;
setTimeout(() => {
if (!mp.players.exists(player)) return;
user.disableAllControls(player, true)
user.hideLoadDisplay(player);
user.bigAlert(player, `У вас нет доступа к тестовому серверу`, "error", 120000);
user.kick(player, 'У вас нет доступа к тестовому серверу');
}, 5000)
});
а куда вставить его?Аааа понятно.
JavaScript:var whitelistState = true; // whitelist state true / false mp.events.add('playerJoin', player => { if(whitelistState) { mysql.executeQuery(`SELECT * FROM white_list WHERE social = '${player.socialClub}'`, function (err, rows, fields) { if (!rows.length) { player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!"); player.kick(); return; } }); } });
ну если просто скопировать, просто вставить - нет, у тебя контексты перетеряютсяв любом случае запуститься?
В этом коде есть уязвимость SQL инъекции.Аааа понятно.
JavaScript:var whitelistState = true; // whitelist state true / false mp.events.add('playerJoin', player => { if(whitelistState) { mysql.executeQuery(`SELECT * FROM white_list WHERE social = '${player.socialClub}'`, function (err, rows, fields) { if (!rows.length) { player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!"); player.kick(); return; } }); } });
mp.events.add('playerJoin', player => {
if(whitelistState) {
const query = 'SELECT * FROM white_list WHERE social = ?';
mysql.executeQuery(query, [player.socialClub], function (err, rows, fields) {
if (err) {
console.error(err);
return;
}
if (!rows.length) {
player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!");
player.kick();
}
});
}
});
так а куда его вставить конкретный фалл есть?ну если просто скопировать, просто вставить - нет, у тебя контексты перетеряются
server/indexтак а куда его вставить конкретный фалл есть?
Ну, в нашем случае возможно проблем и не будет, но это не означает что можно надеяться на валидацию рокстара.