카테고리 없음

[파이썬] 임베디드 Python 인스턴스의 기능 제한

행복을전해요 2021. 1. 11. 02:28

아니요. CPython에서 이러한 것들을 방지 할 수있는 쉬운 방법은 없습니다. 옵션은 다음과 같습니다.

  1. CPython 소스 코드를 편집하고 원하지 않는 항목을 제거합니다. 모든 항목에 대한 조롱 방법을 제공합니다. 오류가 발생하기 쉽고 수행하기가 어렵습니다. 이것이 Google App Engine의 접근 방식입니다.
  2. 제한된 Python을 사용합니다 . 그러나이를 통해 사용자가 사용 가능한 메모리를 고갈 시키거나 무제한 eat-all-cpu 루프를 실행하는 것을 막을 수는 없습니다.
  3. 다른 파이썬 구현을 사용하십시오. PyPy에는 사용할 수 있는 샌드 박스 모드 가 있습니다. Jython 은 Java에서 실행되며 Java는 샌드 박스 처리 될 수 있습니다.
-------------------

아마도 이것이 도움 될 수 있습니다. ast로 작업하는 방법에 대한 예제가 있습니다.

-------------------

원하는 것 Python 버전의 App Engine이 실행되는 Google의 Unladen Swallow 프로젝트입니다 .

모듈은 엄격하게 제한되고, ctypes허용되지 않으며, 소켓은 일부 정책 또는 다른 정책과 일치합니다. 즉, Java 제품에 따라 Python의 샌드 박스 버전이 제공됩니다.

이것이 시스템을 거의 쓸모 없게 만든다는 점을 지적하고 싶습니다. 다른 [App Engine] 앱보다 더 멋진 것은 쓸모가 없습니다. 원숭이 패치 시스템 모듈은 잊어 버리고 자신의 스택에 대한 액세스도 제한됩니다. 완전히 동적이지 않습니다.

OT : 게임은 일반적으로 스크립팅을 위해 LUA를 포함합니다.



출처
https://stackoverflow.com/questions/2006074