http.server 로 작성된 Python 서버로 시작합니다. 그리고 사용자가 핸들러를 사용하여 서버에서 자신의 경로를 설정할 수 있도록 사용자 제어 경로와 연결되어 있습니다. 클라이언트가받는 응답의 내용을 제어합니다. 그 후 Wengine은 Regex를 사용하여 HTML 코드 내부의 템플릿 구문을 감지합니다. 이를 통해 HTML 템플릿 내부에서 사전 제작 된 기능을 사용할 수 있으며 파일 읽기, 명령 실행, 변수 전달, ..etc와 같은 프론트 엔드 측면에서 백엔드 기능을 수행 할 수 있습니다. Wengine은 Hadler 시스템을 구축하여 Python 서버에서 클라이언트 요청 데이터를 얻은 다음 클라이언트가 가져와야 할 응답을 반환합니다. 핸들러는 애플리케이션 내부의 handlers 폴더에 저장되어 서버가 액세스 할 수 있도록해야하며 핸들러는 requestHeaders 라는 하나의 인수 만 가져 오는 Handler 라는 기능이어야합니다. 코드에 다른 Python 함수를 포함하여 Handler 기능 내부에서 사용할 수 있습니다. 그러나이 모든 기능을 실행 한 후에 응답을 반환해야합니다. 그렇지 않으면 서버가 작동하지 않습니다
응답을 반환하려면 responseContent , responseHeaders 및 responseCode 의 세 가지 값을 반환해야합니다. 그리고 그들 모두는 다른 유형으로 비어 있거나 쇠약하지 않아야합니다. 그러나 사용자가 쉽게 만들 수 있습니다. utils 폴더에서 makeResponse 라는 전체 기능을 만들었습니다. 이는 서버에 대한 응답을 반환하고 누락 된 필드를 채우고 검증하는 데 작동합니다. 그리고 템플릿 렌더링에도 사용될 수 있습니다. HTML 파일 내부에서 Wengine 구문을 사용하고 변수를 전달할 수 있습니다.
Wengine은 클라이언트 측 및 서버 측 모두에 대한 안전한 방법으로 구축되었습니다. 서버의 대부분의 보호는 사용자가 관리합니다. 비활성화하거나 활성화 할 수 있습니다. config/settings.py 확인하고 응용 프로그램에 맞지 않는 것을 수정하십시오. 그렇지 않으면 응용 프로그램에서 실제 보안 문제가 발생할 수 있습니다.
Wengine은 utils 의 대부분의 기능을 보호했습니다. 무언가를 사용하려면 utils 폴더에 존재합니다. 외부 기능을 만들지 마십시오. utils 기능은 서버 구성에 맞는 보안 보호 기능으로 이루어졌습니다. 외부 함수를 사용하면 코드를 검증하는 것이 아니라면 이러한 비밀 문제가 발생할 수 있습니다.
그러나 BTW, Wengine에서 보안 문제를 찾았다 고 생각한다면. 저에게 연락하면 최대한 빨리 응답하겠습니다. 당신이 나로부터 응답을 눈치 채지 못했다면. 그런 다음 Github에 문제를 제출하십시오.
createuser 및 migrate 옵션을 사용하여 데이터베이스에 새 사용자를 추가하고 SQLITE DB를 설정합니다.