안녕하세요

요기 공유된 https://xetown.com/forks/1755627

rss 수집 모듈을 사용하고 있고, 

추가한 rss 주소들로부터 글을 업데이트 하려면 라이믹스 기본 index경로에서 module=admin&act=dispLivexeCrawler 경로로 로그인 후 접속해야하길래, 아래와 같이 crontab에 스케줄러를 추가 시켜줬습니다

 

16 0 * * * /usr/bin/curl -s "mysite/index.php?module=admin&act=dispLivexeCrawler" >> rssCronjob.log 2>&1
 

그런데 실행 후 log 파일을 확인해보면 403 권한 없음이 발생하고, 열심히 검색을 통해

 

이런식으로 로그인창의 각 태그명에 해당하는 값을 넣어주고 로그인된 쿠키를 저장해보기도 하고

curl -c mysite/cookie.txt -d "id=admin" -d "password=mypassword" https://mysite

curl -b mysite/cookie.txt https://mysite

 

로그인할때 네트워크에 남아있는 응답으로부터 curl을 추출해서 사용해보기도 했는데, 라이믹스는 보안이 뛰어나서 그런지

여전히 403 권한 없음을 해결할수가 없는데, 어떻게 해야하는지 아시면 힌트좀 부탁드리겠습니다!

 

제목 없음.jpg

 

  • profile

    스크린샷의 403 에러 화면은 라이믹스에서 로그인 안 했다고 에러나는 것이 아니라, nginx에서 차단당하신 것으로 보입니다. 라이믹스는 아예 진입도 못 했어요.

     

    접속을 시도하고 계신 IP나 user-agent, 그 밖의 어떤 속성을 nginx에서 차단하도록 설정되어 있는 모양입니다. 예를 들어 로봇을 차단하려고 "curl"이라는 user-agent를 차단해 두셨을 수 있습니다.

     

    그 문제는 해결한다고 치고, dispLivexeCrawler와 같은 서드파티 모듈의 액션을 호출할 때 아이디/비번을 동시에 전달할 수는없습니다. 일단 로그인 화면을 불러와서 아이디/비번을 제출한 후, 쿠키를 그대로 유지하면서 원하시는 액션을 호출해야 합니다. 물론 관리자 권한으로만 호출할 수 있도록 설계된 기능을 굳이 이런 방식으로 호출하기보다는, 관리자 권한 없이 특정한 IP에서 자유롭게 호출할 수 있도록 수정하는 것이 좀더 깔끔하겠지요. 일정한 시간에 자동으로 호출하여 사용하는 모듈 치고는 설계가 아쉬운 부분입니다.

     

  • profile profile
    감사합니다! 하나씩 해결해보겠습니다