Кіт ✙
модель
щас бы в 2019 присылать код в виде скрина
Jenish
щас бы в 2019 присылать код в виде скрина
посоветуй что нибудь для этого
Nikolai
просто chmod? и как же он может помочь? Отсекать попытки импортировать себя?
А как бы ты хотел ограничивать взаимодействие с определёнными Файлами?
Alex
правила бы вам сударь почитать
Aragaer
присылать картинкой код можно только через codephoto
Кіт ✙
А как бы ты хотел ограничивать взаимодействие с определёнными Файлами?
отлавливать беспредельщиков встроенными инструментами питона(
Кіт ✙
но питон в этом плане - дерьмо. Так что это всё я лучше на крестах напишу
Nikolai
отлавливать беспредельщиков встроенными инструментами питона(
Ты можешь сделать права на папку только для нужных юзеров
🍁 Jaŭhien
их нет может только дефолтные в моделях
А не request.data нужно в сериалайзер передавать?
🍁 Jaŭhien
Давно на джанге не писал
Jenish
Давно на джанге не писал
спасибо большой) целый час мучался (
🍁 Jaŭhien
🖐
Андрей
строгого
так накой ляд тебе питон?
Кіт ✙
так накой ляд тебе питон?
потому что только его я и знаю
Nikolai
потому что только его я и знаю
Ну, питон не про строгость. Вообще нет. Никак. Если для тебя критерий строгость - иди в более низкоуровневый язык
Андрей
cython не варик?
Alex
потому что только его я и знаю
я так и не понял нафига вообще запрещать \ ограничивать тех кто твой модуль может импортировать?
Alex
cython не варик?
вряд ли^W^W нет
koder
так а какой язык в мире имеет возможности ограничения импорта и как такой даже теоретически можно настроить
koder
импорт по паспорту? по имени импортирующего модуля?
koder
на уровне модуля в питоне можно встроить код, который посмотрит кто его импортирует и бросит исключение в случае чего
koder
правда я не уверен как там со стеком при импортировании
Дмитрий
В теории, если надо настолько резать доступ, то может обернуть это в api?
Дмитрий
А там уже и авторизация, и rbac, и все остальное
koder
Так разве можно?
в питоне весь(почти) код исполняемый. def - исполняемая конструкция. Когда модуль импортируется - его тело исполняется. Можно прямо в модуле прописать код, который реализует какие-то проверки
koder
но это слегка странно, я не могу придумать зачем такое может понядобиться
Nikolai
ну дык исполняется он только один раз, и если в случае чего он уже есть в sys.modules такая проверка будет бесполезна
sys.modules он на уровне родительского, а на уровне дочернего как такую проверку сделать я хз
koder
Я не представляю как так сделать на уровне дочернего модуля. Мб покажешь?
# my module import sys if sys.argv[0].startswith('/usr/bin'): raise ImportError("This module can't be imported from binary,started from /usr/bin") def my_func(x): return x
Alexandr
Помогите с регуляркой, пожалуйста. как найти слово cat в строке? Слово может быть окружено символами, например ! или ?
Nikolai
Ну и можно не из корня запускать же
Alex
if 'cat' in word
потому что в этом случае cat - это не слово, а подстрока
Alexandr
if 'cat' in word
ffcatff не годится
koder
Это есл его запустить из терминала, а не импортировать как модуль
# my module import sys import traceback print(sys._getframe(1)) print(sys._getframe(2)) def my_func(x): return x
koder
In [1]: import sys In [2]: sys.path.append('/tmp') In [3]: import text <frame at 0x7f178082c048, file '<frozen importlib._bootstrap>', line 219, code _call_with_frames_removed> <frame at 0x7f1780a52cc0, file '<frozen importlib._bootstrap_external>', line 728, code exec_module>
koder
инспектируешь стек и смотришь кто тебя импортирует
koder
но вообще ты бы четко сформулировал задачу. потому что так то она безгранична. может нельзя на мкс твой модуль импортировать
Alexandr
r`\bcat\b'
спасибо
Дмитрий
# my module import sys import traceback print(sys._getframe(1)) print(sys._getframe(2)) def my_func(x): return x
Только после этого надо будет код как-то обфусцировать или компилировать. Чтоб импортер не подогнал имя своего модуля под вайтлист
Alexandr
это слово ffcatff, а не саt
Андрей
r`\bcat\b'
это разве учитывает ! и ?
Андрей
да
и правда
koder
но это, ессно, изврат
Alex
Кіт ✙
Alex
А как посмотреть кто импортирует модуль?
В общем случае из самого модуля - никак.
Alex
Модуль может быть импортирован несколько раз, вот только выполнится он при первом импорте.
Tishka17
как и проверка стека
Я исходную задачу не читал
Кіт ✙
В общем случае из самого модуля - никак.
а если не из самого модуля?
Tishka17
Alex
Я исходную задачу не читал
Я тоже. Обсуждение хуйни и переливание из пустого в порожнее.
Кіт ✙
зачем?
нада
Alex
нада
пиши на С++
і64
Ты не должен этого хотеть
Я хотел, штоб тот, кому я реплаил, ответил
Кіт ✙
пиши на С++
это же их ещё учить нужно