특정 작업을 수행하기 위해 웹 사이트에 로그인하는 자동화 프로그램을 작성했습니다. .py 파일은 여러 사용자에게 제공되지만 코드를 읽고 로그인에 사용 된 암호를 볼 수 없도록해야합니다. 파일을 읽을 수는 있지만 읽을 수는 없도록하려면 어떻게해야합니까? 그것?편집을 위해 python (.py) 파일을 잠그는 방법은 무엇입니까?
답변
할 수 없습니다. 사용자에게 암호를 제공하면 아무리 숨기려해도 언제든지 찾을 수 있습니다.
암호화 및 난독 화를 사용하여 알아 내기가 다소 어려울 수 있지만 기술에 익숙하지 않은 사용자 만 중지합니다. 그리고 그 사용자는 아마도 일반 텍스트 암호를 찾기 위해 많은 코드를 읽지 않을 것이라고 생각합니다.
올바른 방법은 사용자가 자신의 암호를 알고 있으면 정상적으로 작동하도록하는 것입니다. 서버 측 비트 블록은 사람들이하지 말아야 할 일을하지 못하도록 차단합니다 (가지고 있지 않으면 만들 수 있습니다). 각 사용자에 대해 별도의 계정을 사용하여 필요에 따라 비활성화 할 수 있습니다.
그건 불가능합니다. 파이썬 파일은 단순히 텍스트 파일입니다. 그것을 실행하려면, 당신은 그것을 읽을 수 있어야합니다.
이러한 경우 환경 변수를 사용하는 것이 좋습니다 (예 : here 참조). 당신은 파이썬 파일의 일부가되지 않습니다 컴퓨터의 환경 변수를 설정 한 다음 암호를 유지하는 데몬 (서비스) 실행을 가지고
import os
password = os.environ['NAME_OF_YOUR_ENV_VAR']
환경 변수를 사용하는 경우 각 사용자의 컴퓨터로 이동하여 설정해야합니다. – Chandral
@Chandral : 예, 물론 파이썬 파일을 열어 소스를 보는 방법을 알면 환경 변수의 이름과 암호를 쉽게 찾을 수 있습니다. –
예, 맞습니다. 패스워드를 공개하지 않고 단순히 파이썬 파일을 공유하기를 원한다고 생각했습니다. 암호를 다른 사람의 컴퓨터에 환경 변수로 추가해야하는 경우 사각형 1로 되돌아갑니다. 다음은 비슷한 [질문] (http://stackoverflow.com/questions/34214908)입니다. –
하나의 가능성이다 사용하여 코드에 액세스 할 수 있습니다. 그것은 정상적인 보안이 적용된 제한된 사용자로 실행됩니다. 사용자는 데몬의 사용자 아래에서 아무 것도 액세스 할 수 없어야합니다.
사용자는 IPC 메커니즘을 통해 로그인 요청을 데몬에 전달하는 python 프로그램을 가지고 있습니다. 소켓, named-pipe 등을 사용할 수 있습니다. 데몬은 사용자를 대신하여 작업을 수행하고 결과를 다시 전달합니다.
얼마나 유용한지는 사용자와 서버 간의 통신량에 따라 다릅니다. 대화식 작업 인 경우 성능 문제가 발생할 수 있습니다.
데몬은 볼륨에 따라 아마 멀티 스레드 여야하므로 많은 작업이 될 수 있습니다.
비슷한 가능성은 데몬이 웹 서버 (예 : Apache 사용) 일 수 있으며 사용자가 브라우저를 사용하여 액세스한다는 것입니다. 프로그램 및 유지 관리가 더 쉬울 수 있지만 가능한 경우 환경에 따라 다릅니다.
고맙습니다. 나는 이것을 시도 할 것입니다. – Chandral
가장 좋은 방법은 @cdarke가 제공하는 것일 수 있지만 더 빠른 방법은 .py 파일을 숨겨진 암호로 보호 된 폴더에 저장하는 것입니다.
- 1. .py 파일을 제거한 후 python 프로젝트를 실행하는 방법은 무엇입니까?
- 2. 다른 경로를 처리하기 위해 다른 py 파일을 갖는 방법은 무엇입니까?
- 3. 캐노피 내에 .py 파일을 만드는 방법은 무엇입니까?
- 4. Team Foundation Server에서 파일을 잠그는 방법은 무엇입니까?
- 5. 여러 py 파일을 하나로 컴파일하는 방법은 무엇입니까?
- 6. PY 파일을 PYO 파일로 변환하십시오 - Python
- 7. pyqt4 .py 파일을 사용하기 위해 변환
- 8. 다트 작성을 위해 파일을 잠그는 방법
- 9. 새로운 인터프리터 세션을 시작하지 않고 편집을 위해 IDLE에서 .py 파일을 열려면 어떻게해야합니까?
- 10. PHP가 파일을 잠그는 원인이 무엇입니까
- 11. 분기가 .DLL 파일을 복사하기 위해 프로젝트 빌드를 잠그는 이유는 무엇입니까?
- 12. py-python-command가 무시되었습니다.
- 13. Python 내 .py 파일 수정
- 14. SQLite 데이터베이스를 잠그는 방법은 무엇입니까?
- 15. 수정중인 문서를 잠그는 방법은 무엇입니까?
- 16. py2exe에서 execfile()으로 시작된 .py 파일을 번들하는 방법은 무엇입니까?
- 17. Windows에서 화면을 잠그는 방법은 무엇입니까?
- 18. twisted python - tac 또는 py?
- 19. .py 스크립트로 실행 파일을 만듭니다.
- 20. * .py 파일을 파이썬으로 파싱하는 법?
- 21. python3.5 .py 파일을 열지 않았습니다.
- 22. Python Tkinter Canvas 위젯에서 마우스의 y 좌표를 잠그는 방법은 무엇입니까?
- 23. ppy에서 .py 파일의 .py 파일을 열려면 어떻게해야합니까?
- 24. 어떻게 py 콘솔에서 .py 파일을 만들고 저장합니까?
- 25. .py 내에서 python def 생성.
- 26. Windows에서 PHP로 독점 액세스를 위해 디렉토리를 잠그는 방법은 무엇입니까?
- 27. 고객에게 키를 지불하기 위해 웹 애플리케이션을 잠그는 방법은 무엇입니까?
- 28. 탐색 서랍을 잠그는 방법은 무엇입니까?
- 29. 스레드를 잠그는 적절한 방법은 무엇입니까?
- 30. 멤버 변수를 잠그는 방법은 무엇입니까?
감사합니다. Matti. 문제는 동료가 웹 사이트에서 수퍼 유저의 자격증 명을 사용하여 작업을 수행해야하므로 권한을 제한 할 수있는 방법이 없다는 것입니다. – Chandral
@Chandral : 사용자를 신뢰하지 않으면 암호를 부여 할 수 없습니다. 너는 그것을 바꿀 수 없다. 내가 제안한 것을 할 수 있고 사용자와 웹 사이트 사이에있는 작은 웹 서비스를 만들 수 있습니다. 그러면 원하는 작업을 수행 할 수 있습니다. 웹 서비스는 암호를 자체로 유지합니다. –
그 방법을 배우기 위해 온라인 리소스를 가르쳐 주시겠습니까? – Chandral