Да, действительно. eval'ом можно вычислять тока очень маленькие кусочки кода
разница примерно такая:
b = eval("""3 + 27""")
print b
exec("""a = 97""")
print a
файл code.txt при этом например такой:
login = 'guest'
pass = 'n34r3'
интересно, а этот способ позволит защитить code.txt от его прочтения (рассекречивания) ?
login = 'guest'
pass = 'n34r3'
интересно, а этот способ позволит защитить code.txt от его прочтения (рассекречивания) ?
владелец исполняющей машины не должен иметь возможность видеть вклеенный со стороны код
я не понял что значит владелец машины.
Но если php-шный require() считать защищенным, то этот вариант можно считать не менее защищенным наврное %)
Но если php-шный require() считать защищенным, то этот вариант можно считать не менее защищенным наврное %)
Last edited MonPMMSKEMSK0DecE_December+0300RDecPMMSK
lorien@lorien:/tmp$ cat > test.py << EOF
> #!/usr/bin/env python
> print "test!"
> EOF
lorien@lorien:/tmp$ chmod 111 test.py
lorien@lorien:/tmp$ ./test.py
python: can't open file './test.py': [Errno 13] Permission denied
lorien@lorien:/tmp$ ls -l test.py
---x--x--x 1 lorien lorien 36 2008-12-30 03:30 test.py
Вот, без чтения выполнение не получается.