내 사용자 정의 인터프리터 용 웹 REPL을 만들고 싶습니다. 내 아이디어를 탐구하자. 사용자가 브라우저에서 코드를 작성한 후 "평가"버튼을 클릭하면 OK 코드가 ajax를 통해 서버로 전송되면 코드는 JS로 작성된 linter와 유효성 검사기 (유효성 검사기와 linter가 별도의 모듈로 작성 됨)를 거칩니다. 그런 다음 서버 별 환경에서 해당 코드 평가를 위해 작성됩니다. 그 코드를 평가 한 결과는 다시 broswer에게 돌아갑니다. 그래서 내가 모르는 것은 방법과 클라이언트 코드 평가를위한 별도의 환경을 만드는 도구에 관한 것입니다. 맞다면 제 질문은 클라이언트 코드를 안전하게 실행하기 위해 서버에서 무엇을해야합니까? 나는 메인 OS와는 별도로 추측한다. 도커가 도와 줄 수 있습니까?웹 repl 아키텍처
0
A
답변
0
libonion과 같은 좋은 HTTP 서버 라이브러리를 사용하십시오. 잘 이해해야 HTTP하십시오.
자바 스크립트에서 클라이언트 측 유효성 검사를 사용하는 경우에도 신뢰할 수없고 서버 측에서 유효성 검사를 반복하십시오. 적대적인 사용자가 직접 HTTP 요청을 보낼 수 있습니다 (AJAX 외부).
세션 및 쿠키를 사용하여 다양한 클라이언트 브라우저를 식별하고 (서버 측 인터프리터의 경우) 각각에 대해 별도의 환경을 유지하십시오. 세션과 환경의 격리를 염두에두고 재진입 통역사를 구현하십시오.
Containerization (도커 사용)은 보안을 강화하기위한 조치이지만 서버 측 코드가 없어도 보안을 유지하도록 설계되었습니다 (모든 것을 검사하십시오).
당신이 읽을하지 않은 경우
이미 SICP의 Dragon Book, Lisp in Small Pieces, Programming language pragmatics의 GC handbook를 참조하십시오.관련 문제
- 1. Android 앱의 REPL REPL
- 2. REPL
- 3. 웹 사이트 구조/아키텍처
- 4. 웹 서비스 API 아키텍처
- 5. 웹 기반 시스템 아키텍처
- 6. 웹 API 캐시 아키텍처
- 7. 웹 응용 프로그램 아키텍처
- 8. 웹 소켓 서버 아키텍처
- 9. 스프링 웹 애플리케이션 아키텍처
- 10. 웹 응용 프로그램 아키텍처
- 11. ASP.NET 웹 아키텍처 디자인
- 12. 보안 웹 로그인 아키텍처?
- 13. Java 웹 아키텍처
- 14. Java 9 REPL 앱 실행을위한 REPL
- 15. Scalaz과 REPL
- 16. 스칼라 REPL
- 17. 는 REPL
- 18. 웹 서비스가있는 웹 응용 프로그램을위한 아키텍처
- 19. 웹 서비스가있는 웹 응용 프로그램 아키텍처
- 20. 웹 응용 프로그램 아키텍처 다이어그램
- 21. 웹 응용 프로그램 아키텍처 질문
- 22. 모바일 앱이있는 웹 사이트를위한 아키텍처.
- 23. Android/웹 페이지 API 아키텍처
- 24. 웹 서비스 및 안드로이드 아키텍처
- 25. 웹 서비스 이해, 아키텍처 예
- 26. 장기 실행 웹 서비스 아키텍처
- 27. 웹 사이트 아키텍처 다시 생각해보십시오.
- 28. 아마존 웹 서비스 (AWS) 아키텍처
- 29. 스프링 MVC와 웹 애플리케이션 아키텍처
- 30. 웹 응용 프로그램 아키텍처 디자인
사용자 정의 프로그램 언어는 무엇입니까? 구문 (구문과 의미 모두)을 지정 했습니까? 사용자 정의 인터프리터는 일부 무료 소프트웨어입니까? –
그냥 간단한 리스프 인터프리터 –
Lisp 또는 Scheme? 소스 코드의 URL은 무엇입니까? 어떤 프로그래밍 언어로 통역사를 코딩하고 있습니까? –