2012-02-27 3 views
0

내 사이트의 일부 부분에서 사용자가 URL을 입력하도록 허용합니다. 나는 appengine에서 일하고 있습니다. 그래서 나는 이것을 생각하고 있습니다.이 URL 유효성 검사에 단점이있을 수 있습니다.

try 
    response = urlfetch.fetch(url,follow_redirects=True, deadline=1) 
    if not response.status_code==200: 
     raise SomeCustomException 
except: Exception as e: 
    my_exception_handling_code(e) 

장점

URL 패턴에 대한
  • 검사 자동
  • 또한 URL이 파손되지 않았는지 확인도하지 않으며 로딩 시간이되면 좋은 사용자 경험을 보장하는 데 도움이 더 이상 1 초보다 내 사이트의 링크를 클릭하십시오. 내가 볼 수

가능 단점 :이 완료 가져 오기 위해

  • 요청이 가지고 기다려야합니다. 사용자가 URL을 입력 할 수있는 기회가 거의 없기 때문에 (현재 가입 한 경우에만) 매우 큰 문제는 아닙니다.
+0

해결되었습니다. 나를 알려주는 thxx. – bigblind

+0

왜'urlparse' 모듈을 사용하지 않습니까? URL에서 페이지를로드해도 링크 활력이오고 간다. 링크를 확인한 직후 링크가 죽을 수 있으므로 이걸로 무엇을 달성하기를 희망합니까? 유스 케이스 란 무엇입니까? –

+0

맞습니다. 입력 한 직후 링크가 깨질 수 있으며 링크가로드되는 데 시간이 오래 걸릴 수 있지만 대다수의 경우에는 발생하지 않으며 특정 서브 네트워크에서만 URL에 도달 할 수도 없습니다. 이 사이트는 기술에 익숙하지 않은 독자를 위해 만들어 졌기 때문에 사람들이 너무 이상한 물건을 너무 많이 넣지는 않을 것이라고 생각합니다. 링크가 결국 끊어 지겠지만 피할 수있는 404 및 느린로드 페이지의 대부분을 그대로 유지하기를 바랍니다. – bigblind

답변

2

이것은 나쁜 생각입니다. S. Lott이 지적했듯이 지금은 URL을 사용할 수 없을 수도 있습니다. 또는 일부 특정 하위 네트워크에서만 사용할 수 있습니다. 또는로드하는 데 1 초 이상 걸립니다. 그냥 하지마. 기존 방식을 사용하십시오. urlparse.

1

사이트의 사용자가 게시 할 때마다 URL을 폴링 한 것으로 파악한 경우 설문 조사에 투표하거나 페이지 뷰를 높이는 등의 다른 용도로 URL을 악용 할 수 있습니다.

관련 문제