Как скрыть файл питон

скрыть текстовый файл (python tkinter)

Как только приложение запускается, я расшифровываю все сохраненные данные (которые зашифрованы с использованием ARC4) и сохраняю их в файле. Теперь приложение работает в полноэкранном режиме, но если пользователь свернет это окно и заглянет в свой файловый менеджер (nemo, explorer и т. Д.), То он увидит файл в текстовом формате. Это приведет к компрометации всех данных, и, очевидно, я не хочу, чтобы это произошло. Когда приложение закрыто, я шифрую данные и удаляю открытый текст, используя os.remove , и сохраняю только зашифрованные данные. Меня беспокоит то время, когда приложение работает. Сохраненные данные являются информацией об учетной записи (имена пользователей, пароли и т. Д.).

Так есть ли способ как-то скрыть этот текстовый файл, чтобы пользователь не смог увидеть его в своем файловом менеджере, но я могу получить к нему доступ из программы?

препятствие: (

Я не могу изменить весь дизайн программы, потому что я работаю в срок, и это большое приложение, которое просто займет слишком много времени. Пожалуйста, помогите мне с этой проблемой.

характеристики

Я использую Python 2.7 на машине Linux Mint.

3 ответа

действительно , плохая идея хранить конфиденциальные данные в текстовом файле. Вы действительно должны расшифровывать данные только тогда, когда вам это нужно, и использовать их немедленно в программе, не записывая их в файл.

Однако, если вы уже знаете это и просто хотите быстро исправить ошибку, чтобы скрыть файл, вы можете:

  • Начните имя файла с . — например, .data . Это сделает файл скрытым в Unix-системах.
  • Поместите файл в неясное место, которое пользователь вряд ли будет искать, например /tmp
  • Не присваивайте файлу очевидное имя, например passwords.txt , но вместо этого используйте сгенерированное имя из хеш-функции или метки времени, например time.time() . Это будет иметь дополнительное преимущество, так как ваше имя файла будет отличаться при каждом запуске программы.
  • Вы можете удалить разрешения на чтение из файла с помощью os.chmod(file, ‘022’)
  • Удалите файл, когда ваша программа закроется, с os.remove(file)
Читайте также:  Php global функция внутри функции

Есть способы обойти все эти средства защиты (даже удаление файла), они лишь усложняют задачу пользователя по чтению данных. Это вовсе не настоящая защита, и определенно не стоит полагаться на такие методы для защиты реальных данных.

В идеале вы должны расшифровывать данные по мере необходимости, использовать их, а затем удалять из памяти, как только они больше не нужны, даже не записывая их на диск. Если это изменение дизайна слишком велико, и вы не против, если нетехническому пользователю будет немного сложнее получить доступ ко всей вашей конфиденциальной информации, сохраните ее в памяти и примите, что любой, кто заботится о ней, может получить к ней доступ.

В противном случае, некоторые другие варианты для упрощения доступа к данным:

  • Вы можете скрыть файл, но если пользователь включает показ скрытых файлов или использует ls -l , они могут видеть это.
  • Вы можете защитить файл от чтения, но пользователь может изменить разрешения на чтение файла.
  • Вы можете удалить файл сразу после его использования, но пользователь может использовать инструменты восстановления данных, чтобы прочитать файл (или просто прочитать его, пока программа его использует).
  • Вы можете отправить файл на удаленный сервер и прочитать его оттуда без расшифровки данных, когда-либо затрагивающих диск пользователя, но если они используют анализатор пакетов, они могут читать данные.
  • Вы можете хранить его только в памяти, но если ОС выгружает его из памяти или пользователь проверяет память вашей программы, он может прочитать данные.

Несколько более безопасный подход — использовать отображенные в памяти файлы вместо файлов на диске. Если размер зашифрованных данных не равен сотням мегабайт, вы можете создать файлы в памяти, не касаясь диска. Посмотрите на модуль StringIO. Конечно, это не на 100% безопасно, так как есть способы увидеть, что хранится в оперативной памяти, и ОС может перенести данные в файл подкачки на жестком диске, но это все же на порядок лучше «защищено», чем обычное текстовые физические файлы на диске.

Источник

Как скрывают секретные ключи и пароли в Python

Как скрывают секретные ключи и пароли в Python

Всякий раз, загружая свой проект или код на GitHub с общедоступным репозиторием, нужно помнить о безопасности. Ведь пользователи, которые запустят файл, содержащий секретные ключи и пароли, будут иметь как минимум доступ на чтение, а значит — получат возможность легко завладеть паролями. Так что вопрос безопасности очень важен и нужно очень тщательно его продумывать. Например, нужно всегда скрывать идентификационные ключи или токены Google OAuth, секретные ключи в приложении на Django и т. д.

Прочитав это руководство, вы научитесь скрывать свои пароли от всех тех, кто будет открывать и смотреть ваш проект на Github.

Сначала сделаем примерный файл на Python с названием temp.py и попробуем скрыть в нем пароль.

userID = 'shivi_020' password = 'thenightwing' print(userID, password)

Очевидно, что при загрузке этого кода на Github хотелось бы, чтобы другие люди не видели пароль, содержащийся в файле temp.py .

В Python, чтобы скрыть пароль, ​понадобится функция config (она находится в модуле decouple ) или функции переменных окружения из модуля os . Будем работать с функцией config модуля decouple . Для установки этого модуля выполняем в терминале следующую команду:

pip install python-decouple

После установки создаем файл .env в той же папке, что и файл test.py , после чего копируем и вставляем в него идентификатор пользователя userID и пароль:

userID = 'shivi_020' password = 'thenightwing'

Примечание: этот метод будет работать только при создании файла .env . Никакой другой формат файла не подойдет (хотя при желании можно использовать .py , .json , .ini или config.ini ).

Вернемся к файлу test.py и внесем в него следующие изменения:

from decouple import config userID = config('userID',default='') password = config('password',default='') print(userID, password)

Нетрудно догадаться, как этот код будет работать. Идентификатор пользователя userID и пароль будут извлечены из файла .env . Здесь в функции config присутствует аргумент по умолчанию. Зачем? На тот случай, если поля с заданным значением (первый аргумент) нет в файле .env . Тогда в кавычки будет подставлен этот аргумент по умолчанию. Если бы его не было, то должна была быть выброшена ошибка и значение этого поля инициализировано пустой строкой или любым другим значением.

Но проблема по-прежнему остается: любой, кто откроет ваш репозиторий, увидит пароль, если откроет файл .env . Чтобы не допустить этого, в одной папке с .env и test.py создадим файл .gitignore и добавим в него .env :

Github будет игнорировать этот файл .env , так что в вашем репозитории его видно не будет. Теперь идентификатор пользователя userID и пароль в безопасности.

Чтобы ваши скрипты применялись и другими пользователями, напишите документацию и сохраните ее в Readme.md , изложив подробности создания файла .env и запуска кода, а также загрузки его в репозиторий GitHub. Для использования скрипта им нужно будет ввести в ими же созданном файле .env свой собственный идентификатор пользователя userID с соответствующим паролем.

Выходим из системы

Точно так же скрывают секретные ключи в проектах на Django, токены Google OAuth и другую секретную информацию и пароли.

Источник

Как редактировать скрытый файл в Windows через Python?

Точно других флагов нет? Поставь себе far и смотри информацию по файлу удобно.

Защиту от записи может сделать флаг — только для чтения, он на столько считается устаревшим (но работающим даже на fat), что многие редакторы при его обнаружении на время сохранения файла его отменяют а потом возвращают, так как для системного администратора это создает больше проблем чем удобства, т.е. его уже не замечают но открыть на запись такой файл не получится

danila763

1) Как через far посмотреть информацию о файле? Через ПКМ -> Свойства открывается стандартное окно
2) В этом и проблема, я для проверки создал пустой файл, поставил флаг скрытый, и файл перестал открываться python-м
3) Изначальная цель — редактировать файл desktop.ini, а у него этот флаг не снимаемый

единственное разумное объяснение — антивирус
файл desktop.ini считается опасным для доступа для редактирования ведь с его помощью можно заставить систему запускать файл без разрешения пользователя — типичный вектор атак для вирусов

попробуй сначала создать файл с другим именем (или переименовать если нужно редактирование) а потом переименовать в desktop.ini

danila763

точно это возникает только со скрытыми файлами?

может причина все же в правах доступа к файлам? файлы в корне системного диска по умолчанию имеют права для всех только на чтение, прошедшим проверку и администраторам — на запись

повышение привилегий в windows делают перезапуском текущего приложения с новыми правами, у меня нет сейчас windows машины с python но гугл говорит что ты правильно все делаешь

p.s. попробуй вручную запусти скрипт с повышением прав (открыв консоль с шифтом или запустив скрипт с помощью runas)

Источник

Как скрыть с сайта питоновский файл?

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

вопрос как его скрыть?
может надо конвертировать в ехе?
или какие-то блокировки от доступа извне можно поставить, разрешить только серверу?

Добавлено через 22 минуты
ps: сконвертировал в экзешник.. так серверу оказывается еще и винишко нужно!
иначе работать не будет.

Как скрыть бока сайта, для маленьких разрешений, чтоб получилось также как и у сайта doramy.club
Здравствуйте.. web разработчики. У меня никак не получается скрыть боковые блоки также как сделано.

Как запустить питоновский скрипт с аргументами?
Здравствуйте, возник такой вопрос, как запустить питоновский скрипт с аргументами? использую $doit.

Как скрыть содержимое сайта?
Доброго времени суток! Подскажите, как скрыть содержимое сайта. Тоесть, есть сайт, например.

Как скрыть расширение сайта
Здравствуйте. Прошу помочь решить следующую проблему: сайт, без cms, на php, хочу чтобы в.

Как скрыть адрес сайта?
Как скрыть адрес сайта? Например: http://mysite.ru/register.php на другой адрес: .

Эксперт Python

Ну если у вас сервак не на винде, то без вина EXEшник не открыть. А что вам мешает положить туда .pyc файл, если очень хочется скрыть содержимое?

Эксперт Python

Так полодите в директорию, которая не доступна веб-серверу.

ЦитатаСообщение от unfindable_404 Посмотреть сообщение

Но вообще разочарован немного в питоне.
пхп лучше в плане, что не нужно ничего устанавливать и настраивать дополнительно.

ладно у меня впс, кое-как можно настроить.
но если я на обычный хостинг загружу скрипт, где нет доступа к серверу и где питон не установлен, или установлена старая версия?

Источник

Оцените статью