Na taip suprantu sita, bet jei tarkime kuriama programa kuri butent naudoja ta settings py, ir programos naudotojas atsisiuncia ja, ir ta settings faila... kaip as galiu uzdrausti prieiti.
Geriau turbūt kokį rest api pasirašyti serveryje, kuris tarpininkautų tarp tavo appso/kliento ir duombazės. Tokiu būdu tu kontroliuosi prie kokios informacijos klientas gali prieiti ir nereikės niekam settings failo siustis.
Keista, kad taip sudetingai toks paprastas dalykas daromas. Idomu ar iseitu su pyc failu, sukompiliuotu.. kazkaip skaiciau, kad juos imanoma decompilinti...
@abrius rašė:
Keista, kad taip sudetingai toks paprastas dalykas daromas. Idomu ar iseitu su pyc failu, sukompiliuotu.. kazkaip skaiciau, kad juos imanoma decompilinti...
Naudokis tuom ka siulo DE.
KDE users gali naudotis KWallet, kadaise esu sukures toki paprasta skripta python, gal pravers kam:
#!/usr/bin/python
# coding: utf-8
"""
Read passwords from KDE Wallet.
http://api.kde.org/pykde-4.3-api/kdeui/KWallet.Wallet.html
Usage: kwalletcli [options]
Options:
-h, --help show this help message and exit
-f FOLDER, --folder=FOLDER Destination folder (default is 'zsh')
-i ITEM, --item=ITEM Read item from FOLDER
"""
from PyKDE4.kdeui import KWallet
from PyQt4 import QtGui
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-f", "--folder",
dest="FOLDER",
default="zsh",
help="Destination folder (default is 'zsh')")
parser.add_option("-i", "--item",
dest="ITEM",
help="Read item from FOLDER")
(options, args) = parser.parse_args()
if options.ITEM is None:
print "A mandatory option is missing!\n"
parser.print_help()
exit(1)
def main():
""" """
app = QtGui.QApplication([])
wallet = KWallet.Wallet.openWallet(KWallet.Wallet.LocalWallet(), 0)
# Set the current working folder (create if necessary)
if not wallet.hasFolder(options.FOLDER):
wallet.createFolder(options.FOLDER)
wallet.setFolder(options.FOLDER)
# Read the password entry key from the current folder.
key, PASSWORD = wallet.readPassword(options.ITEM)
if not PASSWORD:
pass
else:
print(str(PASSWORD))
if __name__ == '__main__':
main()
Gal kas turite patirties kaip apsaugoti python faile esančius mySQL prisijungimo duomenis.
Neduok priėjimo prie failo. Jei kažkas gali atidaryti tavo settings.py tai matys kodą kaip ant delno, o tokiu atveju nieko jau ten nebeapsaugosi.
Na taip suprantu sita, bet jei tarkime kuriama programa kuri butent naudoja ta settings py, ir programos naudotojas atsisiuncia ja, ir ta settings faila... kaip as galiu uzdrausti prieiti.
Geriau turbūt kokį rest api pasirašyti serveryje, kuris tarpininkautų tarp tavo appso/kliento ir duombazės. Tokiu būdu tu kontroliuosi prie kokios informacijos klientas gali prieiti ir nereikės niekam settings failo siustis.
Keista, kad taip sudetingai toks paprastas dalykas daromas. Idomu ar iseitu su pyc failu, sukompiliuotu.. kazkaip skaiciau, kad juos imanoma decompilinti...
Naudokis tuom ka siulo DE.
KDE users gali naudotis KWallet, kadaise esu sukures toki paprasta skripta python, gal pravers kam:
Gnome taip pat turi savo mechanizma.
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=11&t=9043