href 속성에서 XSS를 필터링 하시겠습니까?

에릭

내 블로그에서는 사용자가 <a href="$">link text</a>입력 한 내용이 "href"속성에만 유지되도록 링크를 제출할 수 있도록 했습니다. "닫으려고해도"또는> html_entity_decode () 함수를 사용하고 키워드를 필터링했습니다.javascript:

내 질문은 다음과 같습니다.

  1. 자바 스크립트가 실행되는 것을 막는 것으로 충분합니까?
  2. 키워드를 필터링하는 것이 더 낫 javascript습니까?
  3. 데이터 URI data:가 동일한 위협을 가할 수 javascript:있습니까?
  4. http, https, ftp ... 및 #으로 시작하지 않는 입력을 필터링하면 (필요합니다). 충분한가요?

제 주요 질문은 4 번입니다. 나는 처음 3 개의 질문에 대해 예 / 아니오에 동의합니다.

Kravietz

장기적으로는 충분 하지 않을 가능성이 높습니다 . HTML5 보안 치트 시트를 살펴보면 현재 XSS 벡터의 대부분이 매우 정교 javascript하고 data빈번한 표적임을 알 수 있습니다.

따라서 알려진 잘못된 값 차단 에만 의존 할 수 없습니다 ( "다음으로 시작하지 않는 경우 ..."). 대신 알려진 좋은 값만 허용 해야합니다 ( "다음으로 만 시작합니까 ...").

다소 이상한 이름 지정 체계를 제외하고 섹션 3.2에 정의 된 대부분의 패턴에 상당히 도움이되는 RFC 3986 에 구문이 정의 된 URL을 다루기 때문에 그렇게 어렵지 않습니다 . 표준 URL 구문 분석 클래스 중 하나를 사용하고 (Python에 일부를 권장 할 수 있음) 필요에 따라 각 토큰의 유효성을 검사 할 수 있습니다.

기억이는 #은 RFC에서 "조각"라고합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

스크랩 된 href 링크 앞에 'https :'를 추가 하시겠습니까?

분류에서Dev

href URL 링크 끝에 개체 키를 추가 하시겠습니까?

분류에서Dev

수프 대신 목록에서 href를 필터링합니다.

분류에서Dev

요소를 추가하기 전에 필터링 하시겠습니까?

분류에서Dev

href 링크를 클릭하면서 파일을 다운로드 하시겠습니까?

분류에서Dev

Google 스프레드 시트에서 드롭 다운 결과를 필터링 하시겠습니까?

분류에서Dev

WKWebView에서 링크를 비활성화 하시겠습니까?

분류에서Dev

Notes보기에서 문서를 날짜별로 필터링 하시겠습니까?

분류에서Dev

어떤 것과 유사한 관계를 필터링 하시겠습니까? Rails에서

분류에서Dev

PHP 변수에서 특정 태그 콘텐츠를 필터링 하시겠습니까?

분류에서Dev

ftrace에서 특정 프로세스 및 / 또는 pid를 필터링 하시겠습니까?

분류에서Dev

Shopify에 가격 필터를 추가 하시겠습니까?

분류에서Dev

"action"속성의 결과를 렌더링 하시겠습니까?

분류에서Dev

"action"속성의 결과를 렌더링 하시겠습니까?

분류에서Dev

CoreData에서 필터링 하시겠습니까?

분류에서Dev

목록의 일부를 필터링 하시겠습니까?

분류에서Dev

정규식을 사용하여 href 속성에서 링크를 얻는 방법

분류에서Dev

터미널에서 인터넷 속도를 확인 하시겠습니까?

분류에서Dev

터미널에서 "Software Boutique"를 시작 하시겠습니까?

분류에서Dev

인터넷 속도를 로컬에서 공유 하시겠습니까?

분류에서Dev

SilverStripe CMS에서 메타 데이터 필드를 이동 하시겠습니까?

분류에서Dev

jquery-링크에서 href 속성의 일부를 변경하는 방법은 무엇입니까?

분류에서Dev

해시가 배열에 포함 된 키를 포함하는 요소 만 유지하도록 해시 배열을 필터링 하시겠습니까?

분류에서Dev

capybara를 사용하여 href에서 사용자 정의 데이터 속성을 읽을 수 없습니다.

분류에서Dev

작은 것들로 DB를 쿼리하거나 결과의 "더 큰 덩어리"를 저장하고 코드에서 필터링 하시겠습니까?

분류에서Dev

Tableau에서 인덱스를 사용하지 않고 중첩 된 하위 행을 필터링 하시겠습니까?

분류에서Dev

필터링 선택 드롭 다운 메뉴에서 React에서 필터링 하시겠습니까?

분류에서Dev

r에서 시리즈를 필터링하는 약자가 있습니까?

분류에서Dev

jquery에서 데이터를 삭제 하시겠습니까?

Related 관련 기사

  1. 1

    스크랩 된 href 링크 앞에 'https :'를 추가 하시겠습니까?

  2. 2

    href URL 링크 끝에 개체 키를 추가 하시겠습니까?

  3. 3

    수프 대신 목록에서 href를 필터링합니다.

  4. 4

    요소를 추가하기 전에 필터링 하시겠습니까?

  5. 5

    href 링크를 클릭하면서 파일을 다운로드 하시겠습니까?

  6. 6

    Google 스프레드 시트에서 드롭 다운 결과를 필터링 하시겠습니까?

  7. 7

    WKWebView에서 링크를 비활성화 하시겠습니까?

  8. 8

    Notes보기에서 문서를 날짜별로 필터링 하시겠습니까?

  9. 9

    어떤 것과 유사한 관계를 필터링 하시겠습니까? Rails에서

  10. 10

    PHP 변수에서 특정 태그 콘텐츠를 필터링 하시겠습니까?

  11. 11

    ftrace에서 특정 프로세스 및 / 또는 pid를 필터링 하시겠습니까?

  12. 12

    Shopify에 가격 필터를 추가 하시겠습니까?

  13. 13

    "action"속성의 결과를 렌더링 하시겠습니까?

  14. 14

    "action"속성의 결과를 렌더링 하시겠습니까?

  15. 15

    CoreData에서 필터링 하시겠습니까?

  16. 16

    목록의 일부를 필터링 하시겠습니까?

  17. 17

    정규식을 사용하여 href 속성에서 링크를 얻는 방법

  18. 18

    터미널에서 인터넷 속도를 확인 하시겠습니까?

  19. 19

    터미널에서 "Software Boutique"를 시작 하시겠습니까?

  20. 20

    인터넷 속도를 로컬에서 공유 하시겠습니까?

  21. 21

    SilverStripe CMS에서 메타 데이터 필드를 이동 하시겠습니까?

  22. 22

    jquery-링크에서 href 속성의 일부를 변경하는 방법은 무엇입니까?

  23. 23

    해시가 배열에 포함 된 키를 포함하는 요소 만 유지하도록 해시 배열을 필터링 하시겠습니까?

  24. 24

    capybara를 사용하여 href에서 사용자 정의 데이터 속성을 읽을 수 없습니다.

  25. 25

    작은 것들로 DB를 쿼리하거나 결과의 "더 큰 덩어리"를 저장하고 코드에서 필터링 하시겠습니까?

  26. 26

    Tableau에서 인덱스를 사용하지 않고 중첩 된 하위 행을 필터링 하시겠습니까?

  27. 27

    필터링 선택 드롭 다운 메뉴에서 React에서 필터링 하시겠습니까?

  28. 28

    r에서 시리즈를 필터링하는 약자가 있습니까?

  29. 29

    jquery에서 데이터를 삭제 하시겠습니까?

뜨겁다태그

보관