Jump to content

Вопросы и ответы по MTA.


Recommended Posts

Безопаснее будет хранить пароли в settings.xml

я к мускулу привык, да и уже почти дописал логин/регистрацию на нем, так что не вариант.

Я имел ввиду хранить пароли от MySQL базы в settings.xml, а ресурс просто будет через функцию get получать этот пароль, поэтому если украдут исходники, то пароли никто не увидит.

Link to comment

шило на мыло поменяли (:

Мне нет разницы, в каком месте пароли, если они все равно будут находится в папке сервера, к которой можно получить доступ извне посредством взлома FTP/SSH акка. Но, если я буду ставить целью подобрать права доступа к серву, я начну с админ акков сервера, потому что при получении таких прав я могу прочесть любые данные из любого ресурса. Поэтому во всеъ этих случаях есть только одна проблема - плохие пароли и простые логины.

Link to comment
шило на мыло поменяли (:

Мне нет разницы, в каком месте пароли, если они все равно будут находится в папке сервера, к которой можно получить доступ извне посредством взлома FTP/SSH акка. Но, если я буду ставить целью подобрать права доступа к серву, я начну с админ акков сервера, потому что при получении таких прав я могу прочесть любые данные из любого ресурса. Поэтому во всеъ этих случаях есть только одна проблема - плохие пароли и простые логины.

Вы видимо не внимательно читаете тему. Речь идёт о settings.xml который хранится рядом с конфигурацией сервера, а не meta.xml что в ресурсах.

Link to comment

Достаточно админ акка на сервере, чтобы узнать все что мне нужно. Ты пароль можешь положить куда хочешь, он же все рано скриптово будет читаться. Я найду нужный скрипт. Даже, если он будет скомпилирован, я все равно узнаю откуда скрипт берет данные и прочту их. Конечно, можно затруднить взломщику задачу, храня данные в зашифрованном виде с хаотичными именами и храня части функции-раскодировщика в разных ресурсах. Но на это никто не пойдет.

Если даже простые РНР скрипты на веб-сервере содержат эти данные доступа к БД в открытом виде, то кто станет заморачиваться с этим данными на игровом сервере? Паранойек-одмин?

Link to comment

Вопрос касается серверных скриптов. С ними все в порядке, их безопасность ограничена только рамками программы-сервера. И как раз через этот сервер мы можем подобраться к любому серверному скрипту, просто любым способом получив админ акк.

Но вокруг серверных файлов есть еще и другие системы, такие как удаленный FTP и SSH доступ. Поэтому я бы не надеялся на безопасность файлов самого сервера, если к остальным окружающим системам можно легко получить доступ.

Ставьте сложные пароли, блокируйте брут, если у вас там ДЕЙСТВИТЕЛЬНО ЦЕННЫЕ ДАННЫЕ лежат. но в большинстве случаев там один мусор.

Link to comment

Вот начал делать авторынок

и понял что элементы возвращают не число)

Cars = {} 
  
addEventHandler("onResourceStart", getRootElement(),  
function( ) 
for i=0,2 do  
local result = mysql_query(mysql,"Select * From Cars Where `Carid`="..i) 
local row = mysql_fetch_row(result) 
if row then 
Cars[i] = createVehicle(row[2],row[3],row[4],row[5]) 
setElementData(Cars[i],"Модель", row[2]) 
setElementData(Cars[i],"Ид", Cars[i]) 
else 
outputDebugString("Бяка при загрузки авто") 
end 
end 
end 
) 
function lol( thePlayer ) 
for i=0,2 do 
local row = tostring(getElementData(Cars[i],"Ид")) 
if tostring(getPedOccupiedVehicle( thePlayer )) == row then 
outputChatBox("Ид авто "..i.." Модель авто "..getElementData(Cars[i],"Модель")) 
end 
end 
end 
addCommandHandler ("t", lol) 

дак вот комманда t это что то вроде статистики

можно ли как то обойтись без цикла?

Link to comment

дело не в этом просто в в другом мультиплееры они возвращают число

и их можно использовать в массиве

например

veh = CreateVehicle(...)

Massive[veh] = a

а потом использовать функцию для определения машины

в которой сидит игрок и она возвратит число

и всё это будет без циклов

p.s. мой вариант работает но я хочу лучше

Link to comment
дело не в этом просто в в другом мультиплееры они возвращают число

и их можно использовать в массиве

например

veh = CreateVehicle(...)

Massive[veh] = a

и что мешает здесь сделать так же, только с элементами?

Link to comment

Не обязательно чтобы число было. Можно и к элементам так же привязку сделать. Но если тебе нужна для хранения информации, то лучше конечно использовать setElementData/getElementData.

------

Можно поточнее, что тебе нужно?

Link to comment

А зачем тебе число?

Например вот так можно делать

  
local yyy = {} 
  
addEventHandler("onPlayerJoin", getRootElement(),  
    function() 
        yyy[source] = 1 
    end 
) 
addEventHandler("onPlayerQuit", getRootElement(),  
    function() 
        if yyy[source] == 1 then 
            -- ... 
        end 
    end 
) 
  

Link to comment

ммм эээ зачем ты привёл этот пример

дело не в этом просто в в другом мультиплееры они возвращают число

и их можно использовать в массиве

например

veh = CreateVehicle(...)

Massive[veh] = a

а потом использовать функцию для определения машины

в которой сидит игрок и она возвратит число

ещё раз говорю

Link to comment

Хотя даже проще будет так:

  
local my_car = createVehicle(...) 
setElementData(my_car, "buy", false) 
setElementData(my_car, "owner", "None") 
  
local veh = getPedOccupiedVehicle(player) 
setElementData(veh, "buy", true) 
setElementData(veh, "owner", getPlayerName(player)) 
  

Link to comment

ммм нет)

я про сохранение не одной машины а циклом

получается надо делать теперь так

изменил - сохранил да?

тогда как сохранять позицию?

Edited by Guest
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...