안녕하세요.

 

웹사이트를 운영 중인데요,

간만에 로그 파일을 열어봤는데, 에러가 나는 부분이 있어서 확인 중입니다.

 

user-agent 를 파싱해서 동작을 다르게 하는 부분이 있는데,

요 부분에서 user-agent 헤더를 못가져와서 에러가 나더라고요..

 

request.getHeader("user-agent");

 

웹사이트라 브라우저로 접속할 수 밖에 없고, 

따라서 100% user-agent 가 있어야할 거 같은데,

 

이런 user-agent 가 없는 요청은 뭘까요?

찜찜한 기분에 조언 구합니다 ^^;;

  • Lv24
    user-agent없어도 사이트에 접속이 가능한경우 user-agent 없이 파싱하는 사람들이 있는것 같네요.

    그런경우라면 user-agent가 없이 로그에 뜰때가 있을 것 같네요.
  • Lv24 ? Lv1
    아 유저에이전트 없이 크롤링 하는걸 말씀하시는 거군요. 그렇다면 막는게 맞을 수도 있겠네용
  • Lv18
    유저 에이전트는 얼마든지 조작할수 있는 값입니다. 비우는 것 이외 아예 변경하는것도 가능하죠.
    다만 유저에이전트가 빈 요청은 대부분 봇 등 비정상 접속이니 찜찜하시다면 해당 경우만 차단하시면 됩니다.(htaccess 등 이용)
  • Lv18 ? Lv1
    봇이면 구글 같은 검색 사이트 일까요? 아님 영양가가 전혀 없는 경우가 많을까요? 막는게 맞는 방향인지 궁금합니당
  • ? Lv1 Lv18

    영양가 없는 봇일 확률이 99%입니다. 정상적인 봇은 유저에이전트도 봇으로 설정합니다.

  • Lv18 ? Lv1
    아 그렇군요 좋은 정보 감사합니다~!
  • Lv36

    브라우저를 사용하는 인간은 거의 없고 온갖 잡다한 로봇만 들끓는 안습한 사이트도 있습니다.

    그나마 정상적인 user-agent가 많이 보인다면 나름 성공하신 거예요.^^

  • Lv36 ? Lv1
    그런면으로는 성공인거 같네요 ㅎㅎ 에러는 하루에 세네번 나는듯해서요.

    로봇이라면 현재 npe 로 500 에러만 가져갈거 같은데 정상처리 해주도록 수정하는게 맞을까요?
  • ? Lv1 Lv36
    로봇에 따라 다르겠지요. 대다수는 그냥 트래픽 낭비이므로 에러 뿜고 꺼지라고 하는 편이 낫습니다. 구글이나 네이버에 정상적으로 노출되고 애드센스가 작동하는 데 필요한 user-agent는 정해져 있으니 그것들만 확실하게 예외처리하시면 됩니다.
  • Lv36 ? Lv1
    이대로 둬도 일단은 되겠는데, 정상적인 봇 user agent 를 조사해서 제대로 처리하는게 맞는 방향이군요! 감사합니다~!