2016-07-02 2 views
0

특정 작업을 수행하기 위해 웹 사이트에 로그인하는 자동화 프로그램을 작성했습니다. .py 파일은 여러 사용자에게 제공되지만 코드를 읽고 로그인에 사용 된 암호를 볼 수 없도록해야합니다. 파일을 읽을 수는 있지만 읽을 수는 없도록하려면 어떻게해야합니까? 그것?편집을 위해 python (.py) 파일을 잠그는 방법은 무엇입니까?

답변

1

할 수 없습니다. 사용자에게 암호를 제공하면 아무리 숨기려해도 언제든지 찾을 수 있습니다.

암호화 및 난독 화를 사용하여 알아 내기가 다소 어려울 수 있지만 기술에 익숙하지 않은 사용자 만 중지합니다. 그리고 그 사용자는 아마도 일반 텍스트 암호를 찾기 위해 많은 코드를 읽지 않을 것이라고 생각합니다.

올바른 방법은 사용자가 자신의 암호를 알고 있으면 정상적으로 작동하도록하는 것입니다. 서버 측 비트 블록은 사람들이하지 말아야 할 일을하지 못하도록 차단합니다 (가지고 있지 않으면 만들 수 있습니다). 각 사용자에 대해 별도의 계정을 사용하여 필요에 따라 비활성화 할 수 있습니다.

+0

감사합니다. Matti. 문제는 동료가 웹 사이트에서 수퍼 유저의 자격증 명을 사용하여 작업을 수행해야하므로 권한을 제한 할 수있는 방법이 없다는 것입니다. – Chandral

+0

@Chandral : 사용자를 신뢰하지 않으면 암호를 부여 할 수 없습니다. 너는 그것을 바꿀 수 없다. 내가 제안한 것을 할 수 있고 사용자와 웹 사이트 사이에있는 작은 웹 서비스를 만들 수 있습니다. 그러면 원하는 작업을 수행 할 수 있습니다. 웹 서비스는 암호를 자체로 유지합니다. –

+0

그 방법을 배우기 위해 온라인 리소스를 가르쳐 주시겠습니까? – Chandral

0

그건 불가능합니다. 파이썬 파일은 단순히 텍스트 파일입니다. 그것을 실행하려면, 당신은 그것을 읽을 수 있어야합니다.

이러한 경우 환경 변수를 사용하는 것이 좋습니다 (예 : here 참조). 당신은 파이썬 파일의 일부가되지 않습니다 컴퓨터의 환경 변수를 설정 한 다음 암호를 유지하는 데몬 (서비스) 실행을 가지고

import os 
password = os.environ['NAME_OF_YOUR_ENV_VAR'] 
+0

환경 변수를 사용하는 경우 각 사용자의 컴퓨터로 이동하여 설정해야합니다. – Chandral

+0

@Chandral : 예, 물론 파이썬 파일을 열어 소스를 보는 방법을 알면 환경 변수의 이름과 암호를 쉽게 찾을 수 있습니다. –

+0

예, 맞습니다. 패스워드를 공개하지 않고 단순히 파이썬 파일을 공유하기를 원한다고 생각했습니다. 암호를 다른 사람의 컴퓨터에 환경 변수로 추가해야하는 경우 사각형 1로 되돌아갑니다. 다음은 비슷한 [질문] (http://stackoverflow.com/questions/34214908)입니다. –

0

하나의 가능성이다 사용하여 코드에 액세스 할 수 있습니다. 그것은 정상적인 보안이 적용된 제한된 사용자로 실행됩니다. 사용자는 데몬의 사용자 아래에서 아무 것도 액세스 할 수 없어야합니다.

사용자는 IPC 메커니즘을 통해 로그인 요청을 데몬에 전달하는 python 프로그램을 가지고 있습니다. 소켓, named-pipe 등을 사용할 수 있습니다. 데몬은 사용자를 대신하여 작업을 수행하고 결과를 다시 전달합니다.

얼마나 유용한지는 사용자와 서버 간의 통신량에 따라 다릅니다. 대화식 작업 인 경우 성능 문제가 발생할 수 있습니다.

데몬은 볼륨에 따라 아마 멀티 스레드 여야하므로 많은 작업이 될 수 있습니다.

비슷한 가능성은 데몬이 웹 서버 (예 : Apache 사용) 일 수 있으며 사용자가 브라우저를 사용하여 액세스한다는 것입니다. 프로그램 및 유지 관리가 더 쉬울 수 있지만 가능한 경우 환경에 따라 다릅니다.

+0

고맙습니다. 나는 이것을 시도 할 것입니다. – Chandral

0

가장 좋은 방법은 @cdarke가 제공하는 것일 수 있지만 더 빠른 방법은 .py 파일을 숨겨진 암호로 보호 된 폴더에 저장하는 것입니다.

관련 문제