Mr_Bob Posted September 17, 2011 Share Posted September 17, 2011 Безопаснее будет хранить пароли в settings.xml я к мускулу привык, да и уже почти дописал логин/регистрацию на нем, так что не вариант. Link to comment
Kernell Posted September 17, 2011 Share Posted September 17, 2011 Безопаснее будет хранить пароли в settings.xml я к мускулу привык, да и уже почти дописал логин/регистрацию на нем, так что не вариант. Я имел ввиду хранить пароли от MySQL базы в settings.xml, а ресурс просто будет через функцию get получать этот пароль, поэтому если украдут исходники, то пароли никто не увидит. Link to comment
Mr_Bob Posted September 17, 2011 Share Posted September 17, 2011 а, не так понял. хорошая идея, спасибо Link to comment
MX_Master Posted September 17, 2011 Share Posted September 17, 2011 шило на мыло поменяли (: Мне нет разницы, в каком месте пароли, если они все равно будут находится в папке сервера, к которой можно получить доступ извне посредством взлома FTP/SSH акка. Но, если я буду ставить целью подобрать права доступа к серву, я начну с админ акков сервера, потому что при получении таких прав я могу прочесть любые данные из любого ресурса. Поэтому во всеъ этих случаях есть только одна проблема - плохие пароли и простые логины. Link to comment
Mr_Bob Posted September 17, 2011 Share Posted September 17, 2011 Есть ли в MTA функция, аналогичная самповской CreateMenu? не нашел что-то.. Link to comment
Kernell Posted September 17, 2011 Share Posted September 17, 2011 шило на мыло поменяли (:Мне нет разницы, в каком месте пароли, если они все равно будут находится в папке сервера, к которой можно получить доступ извне посредством взлома FTP/SSH акка. Но, если я буду ставить целью подобрать права доступа к серву, я начну с админ акков сервера, потому что при получении таких прав я могу прочесть любые данные из любого ресурса. Поэтому во всеъ этих случаях есть только одна проблема - плохие пароли и простые логины. Вы видимо не внимательно читаете тему. Речь идёт о settings.xml который хранится рядом с конфигурацией сервера, а не meta.xml что в ресурсах. Link to comment
MX_Master Posted September 18, 2011 Share Posted September 18, 2011 Достаточно админ акка на сервере, чтобы узнать все что мне нужно. Ты пароль можешь положить куда хочешь, он же все рано скриптово будет читаться. Я найду нужный скрипт. Даже, если он будет скомпилирован, я все равно узнаю откуда скрипт берет данные и прочту их. Конечно, можно затруднить взломщику задачу, храня данные в зашифрованном виде с хаотичными именами и храня части функции-раскодировщика в разных ресурсах. Но на это никто не пойдет. Если даже простые РНР скрипты на веб-сервере содержат эти данные доступа к БД в открытом виде, то кто станет заморачиваться с этим данными на игровом сервере? Паранойек-одмин? Link to comment
Kernell Posted September 18, 2011 Share Posted September 18, 2011 Это уже совсем другой вопрос! Link to comment
MX_Master Posted September 18, 2011 Share Posted September 18, 2011 Вопрос касается серверных скриптов. С ними все в порядке, их безопасность ограничена только рамками программы-сервера. И как раз через этот сервер мы можем подобраться к любому серверному скрипту, просто любым способом получив админ акк. Но вокруг серверных файлов есть еще и другие системы, такие как удаленный FTP и SSH доступ. Поэтому я бы не надеялся на безопасность файлов самого сервера, если к остальным окружающим системам можно легко получить доступ. Ставьте сложные пароли, блокируйте брут, если у вас там ДЕЙСТВИТЕЛЬНО ЦЕННЫЕ ДАННЫЕ лежат. но в большинстве случаев там один мусор. Link to comment
AHTOXA Posted September 18, 2011 Share Posted September 18, 2011 Вот начал делать авторынок и понял что элементы возвращают не число) 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
Kernell Posted September 18, 2011 Share Posted September 18, 2011 > и понял что элементы возвращают не число) setElementData(Cars,"Ид", Cars) Ну так ты в дату елемент транспорта забиваешь. Link to comment
AHTOXA Posted September 18, 2011 Share Posted September 18, 2011 дело не в этом просто в в другом мультиплееры они возвращают число и их можно использовать в массиве например veh = CreateVehicle(...) Massive[veh] = a а потом использовать функцию для определения машины в которой сидит игрок и она возвратит число и всё это будет без циклов p.s. мой вариант работает но я хочу лучше Link to comment
Aibo Posted September 18, 2011 Share Posted September 18, 2011 дело не в этом просто в в другом мультиплееры они возвращают числои их можно использовать в массиве например veh = CreateVehicle(...) Massive[veh] = a и что мешает здесь сделать так же, только с элементами? Link to comment
StUNt71 Posted September 18, 2011 Share Posted September 18, 2011 Не обязательно чтобы число было. Можно и к элементам так же привязку сделать. Но если тебе нужна для хранения информации, то лучше конечно использовать setElementData/getElementData. ------ Можно поточнее, что тебе нужно? Link to comment
AHTOXA Posted September 19, 2011 Share Posted September 19, 2011 и что мешает здесь сделать так же, только с элементами? Я же сказал элементы возвращают НЕ число в другом мп можно обойтись без циклов тут можно? Link to comment
StUNt71 Posted September 19, 2011 Share Posted September 19, 2011 А зачем тебе число? Например вот так можно делать local yyy = {} addEventHandler("onPlayerJoin", getRootElement(), function() yyy[source] = 1 end ) addEventHandler("onPlayerQuit", getRootElement(), function() if yyy[source] == 1 then -- ... end end ) Link to comment
Mr_Bob Posted September 19, 2011 Share Posted September 19, 2011 А как получить в МТА допустим самповский enum: PlayerInfo[playerid][pCash] = 500 и реально ли это? А то с этими таблицами никак не разберусь что-то.. Link to comment
AHTOXA Posted September 19, 2011 Share Posted September 19, 2011 ммм эээ зачем ты привёл этот пример дело не в этом просто в в другом мультиплееры они возвращают числои их можно использовать в массиве например veh = CreateVehicle(...) Massive[veh] = a а потом использовать функцию для определения машины в которой сидит игрок и она возвратит число ещё раз говорю Link to comment
StUNt71 Posted September 19, 2011 Share Posted September 19, 2011 Мда. Как всё запущено. local my_car = createVehicle(...) local yyy = {} yyy[my_car] = {buy = false, owner = "None"} local vehicle = getPedOccupiedVehicle(player) yyy[vehicle][buy] = true yyy[vehicle][owner] = getPlayerName(player) Link to comment
Mr_Bob Posted September 19, 2011 Share Posted September 19, 2011 Во, если это работает, то выходит я тоже получил ответ на свой вопрос. Буду дома опробую Link to comment
AHTOXA Posted September 19, 2011 Share Posted September 19, 2011 спасибо тебе я пробовал так же у меня не получалось o_O прошу сильно не ругать я в МТА новичёк Link to comment
StUNt71 Posted September 19, 2011 Share Posted September 19, 2011 Хотя даже проще будет так: 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
AHTOXA Posted September 19, 2011 Share Posted September 19, 2011 а как такое сохранять? Link to comment
Mr_Bob Posted September 19, 2011 Share Posted September 19, 2011 а как такое сохранять? GetElementData. tonumber(GetElementData..) получить число, ты ж это хотел вроде, если я правильно понял тебе вообще Link to comment
AHTOXA Posted September 19, 2011 Share Posted September 19, 2011 (edited) ммм нет) я про сохранение не одной машины а циклом получается надо делать теперь так изменил - сохранил да? тогда как сохранять позицию? Edited September 19, 2011 by Guest Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now