2012-11-06 2 views
2

yesodweb.com 웹 사이트의 내용을 다시로드하려면 다시로드 경로가 추가되었습니다. 누구나 POST를 사용하여 wget을 사용하여 다시로드를 시작할 수 있습니다. 이것은 실제로 안전하지 않습니다.yesodweb 웹 사이트의 내용을 SIGUSR1로 다시로드

대신 git 후크를 사용하여 다시로드 할 수 있습니까? 새로운 콘텐츠를 서버에 넣으면 블로그 내용 등이 다시로드됩니다.

특정 경로를 듣지 않고 SIGUSR1 처리기를 설치하려고합니다. 이것이 가능한가, 아니면 일종의 경쟁 조건의 위험이 있는가? 이것이 가능하다면 어디에서 처리기를 추가해야합니까?

답변

2

저는 개인적으로 POST를 고수하고 특정 토큰을 요구하거나 특정 IP 주소만을 수신하여 보안을 추가합니다. 내가 신경 쓰지 않은 이유는이 재로드 라우트에 공격 벡터가 너무 많지 않기 때문입니다. 트리거 할 수있는 것은 모두 사용자가 영향을주지 못하는 하드 코드 된 저장소에서 git를 가져 오는 것입니다.

신호 경로를 보려면 unix 패키지의 System.Posix.Signals 모듈을 살펴보십시오. 코드를 makeApplication에 가장 많이 추가 할 것입니다.