개발자 데이터 도구 키트 - 질문
툴킷이 데이터를 처리하는 방법, 정확한 유틸리티, 각 유틸리티가 의도적으로 중지되는 위치.
짧은 버전
여기에 있는 모든 유틸리티는 브라우저 탭에서 실행됩니다. 붙여넣은 내용은 ToolAcre 응용 프로그램 서버에 의해 업로드되거나 저장되지 않습니다. 사이트 전체 분석은 구성된 정식 프로덕션 호스트에서만 실행되며 개인정보 보호정책에 공개됩니다. 붙여넣은 값은 ToolAcre 자체 분석 이벤트에서 제외됩니다.
아래 질문은 특정 결과를 신뢰할 수 있는지 여부를 결정하는 질문입니다. 유틸리티가 정확한 경우에는 그렇게 표시됩니다. 근사하거나 거부하는 경우에도 그렇게 말합니다.
붙여넣은 내용은 어떻게 되나요?
- 모든 변환, 해시, 디코드 및 차이점은 브라우저 탭에서 실행됩니다. 페이지가 로드된 후에는 관련된 서버가 없기 때문에 입력이 서버에 업로드되거나 기록되거나 저장되지 않습니다.
- 해시는 브라우저의 자체 웹 암호화 구현에서 나오고 UUID는 암호화된 보안 무작위 생성기에서 나옵니다. 둘 다 네트워크 호출과 관련이 없습니다.
- 귀하가 입력하는 내용은 로컬 저장소나 쿠키에 기록되지 않습니다. 페이지를 다시 로드하면 페이지가 삭제됩니다. 탭을 닫으면 삭제됩니다.
- 사이트 전체 분석은 구성된 정식 프로덕션 호스트에서만 실행되며 개인정보 보호정책에 공개됩니다. 로컬 및 미리보기 호스트는 이를 거부합니다. 붙여넣은 값, 토큰, URL 및 파일 내용은 ToolAcre 자체 분석 이벤트에서 제외됩니다. 현재 구성에서는 광고가 비활성화되어 있습니다.
- 즉, JWT 또는 API 키는 실시간 자격 증명입니다. 안전한 습관은 자신이 작성하지 않은 웹 페이지에 내용을 붙여넣지 않는 것입니다. 이 내용을 포함하여 그 주장은 신뢰할 만합니다.
질문
내가 붙여넣은 것이 업로드되었나요?
ToolAcre 업로드가 이를 수신하지 않습니다. 모든 변환, 해시, 디코드 및 차이점은 브라우저에서 발생합니다. 사이트 전체 분석은 구성된 정식 프로덕션 호스트로 제한되며 개인정보 보호정책에 공개됩니다. 붙여넣은 값, 토큰, URL 및 파일 내용은 ToolAcre의 자체 분석 이벤트에서 제외됩니다.
방문 사이에 저장된 것이 있습니까?
아니요. 툴킷은 localStorage, sessionStorage, IndexedDB 또는 쿠키에 아무것도 쓰지 않습니다. 페이지를 다시 로드하면 입력한 모든 내용이 지워집니다. 탭을 닫아도 마찬가지입니다. 계정시스템이 없으므로 가입할 것도 없고 삭제할 것도 없습니다.
여기서 base64는 이모티콘과 영어가 아닌 텍스트를 처리합니까?
네, 맞습니다. 텍스트는 인코딩하기 전에 UTF-8 bytes로 변환되고 엄격한 디코더로 다시 디코딩되므로 이모티콘, CJK, 아랍어, 결합 표시 및 ZWJ 시퀀스는 모두 바이트 단위로 왕복됩니다. 이것은 브라우저에 내장된 btoa()가 잘못되는 구체적인 사항입니다. 즉, 일부 문자를 던지고 다른 문자에 대해서는 자동으로 잘못된 바이트를 생성합니다.
JSON 유효성 검사기는 오류 위치를 어떻게 찾나요?
엔진의 오류 메시지를 읽는 대신 자체 스캐너를 사용합니다. 브라우저 JSON 오류 텍스트는 엔진마다 다르며 현재 V8은 일부 오류에 대해 위치를 완전히 생략합니다. 스캐너는 문서를 탐색하고 사람을 위해 작성된 이유(후행 쉼표, 작은 따옴표로 묶인 문자열, 종료되지 않은 문자열)와 함께 문제가 되는 줄과 캐럿을 포함하여 유효한 JSON이 아닌 첫 번째 오프셋을 보고합니다.
어떤 YAML 기능이 지원되나요?
표준 YAML 1.2 구조는 JSON 모양의 데이터(문자열, 숫자, 부울, Null, 시퀀스 및 매핑)만 생성할 수 있는 제한된 스키마로 읽습니다. 임의의 객체를 구성하는 태그는 거부됩니다. JSON 스키마(가장 엄격함)와 Core 스키마(~ 및 빈 값을 null, 16진수 정수 및 .inf / .nan으로 확인) 중에서 선택할 수 있습니다.
"알 수 없는 태그"로 인해 YAML 파일이 실패하는 이유는 무엇입니까?
!!js/function, !!python/object/apply, !!binary 또는 !!timestamp와 같은 사용자 정의 또는 언어별 태그를 사용하기 때문입니다. 이를 구성하도록 구성된 로더는 임의 개체 생성자이며, 여러 언어에서는 버그의 원격 코드 실행 클래스입니다. 이 도구는 예외를 두지 않고 의도적으로 이를 거부합니다.
해시가 정확합니까?
브라우저의 자체 웹 암호화 구현에 의해 계산되며 테스트 스위트는 게시된 벡터와 비교하여 이를 확인합니다. "abc"의 SHA-256는 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad이고 SHA-1, SHA-384 및 SHA-512 벡터는 빈 문자열 다이제스트와 함께 함께 검사됩니다.
SHA-1가 손상된 것으로 표시되는 이유는 무엇입니까?
그렇기 때문이죠. 실제 충돌은 2017(SHAttered)에 게시되었으며 선택 접두사 충돌(서명 및 인증서를 손상시키는 변형)은 2020에서 사용할 수 있게 되었습니다. Git 개체 ID 및 레거시 API 서명과 같은 기존 SHA-1 값을 재현할 수 있도록 포함되어 있습니다. 이는 이에 의존하는 것과는 다릅니다.
UUID는 어디에서 왔습니까?
crypto.randomUUID() 또는 crypto.getRandomValues()(randomUUID를 사용할 수 없음)에서. 둘 다 브라우저의 암호화 보안 생성기입니다. Math.random()은 절대 사용되지 않습니다. 짧은 출력 실행에서 내부 상태를 복구할 수 있으므로 이를 통해 구축된 모든 항목을 예측 가능하게 만듭니다. 보안 소스가 없으면 도구는 조용히 다운그레이드하는 대신 생성을 거부합니다.
JWT 디코더가 서명을 확인합니까?
아니요. 헤더와 페이로드를 디코딩하여 그들이 주장하는 내용을 보여줍니다. 서명을 확인하지 않으므로 토큰이 진짜인지, 변경되지 않았는지 또는 이름이 지정된 사람이 발행했는지 증명하는 것은 아무것도 없습니다. 확인에는 웹페이지가 아닌 토큰을 신뢰하는 시스템에 속하는 발급자의 키와 고정된 알고리즘이 필요합니다.
실제 액세스 토큰을 붙여넣을 수 있나요?
여기든 다른 곳이든 할 수 있고, 그래서는 안 됩니다. 라이브 토큰은 자격 증명입니다. 이를 보유한 사람은 만료될 때까지 귀하의 역할을 할 수 있습니다. 이 페이지는 로컬에서 디코딩하고 아무것도 보내지 않지만, 이는 어떤 사이트에서도 한눈에 확인할 수 없는 주장이므로 안전한 습관이 만료되거나 테스트 토큰을 사용합니다. 이미 어딘가에 붙여넣었다면 회전하세요.
텍스트 차이는 어떻게 작동하나요?
이는 순진한 줄별 비교보다는 최소한의 추가 및 제거 세트를 제공하는 가장 긴 공통 하위 시퀀스 편집 스크립트를 계산합니다. 동일한 선행 및 후행 줄이 먼저 잘리므로 한 위치에서 다른 두 개의 큰 파일을 비교하는 것이 빠릅니다.
diff가 매우 큰 입력을 거부하는 이유는 무엇입니까?
LCS 알고리즘에는 두 길이의 곱에 비례하는 시간과 메모리가 필요합니다. 브라우저 탭이 시도해서는 안 되는 할당이 되는 몇 천 개의 다른 줄을 지나면 도구는 이를 거부하고 더 작은 영역을 비교할 것을 제안합니다. 대부분의 콘텐츠를 공유하는 파일은 먼저 잘리고 전체 크기에 관계없이 빠르게 유지됩니다.
타임스탬프 단위 감지는 신뢰할 수 있나요?
이는 문서화된 경험적 방법이며 결코 조용하지 않습니다. 10^11 이상은 밀리초로 처리됩니다. 10^11초는 5138 연도이고 10^11 밀리초는 1973이기 때문입니다. 실제로 사용된 단위는 항상 결과와 함께 표시되며 이를 무시할 수 있습니다.
툴킷은 오프라인에서 작동합니까?
페이지가 로드되면 그렇습니다. 네트워크가 필요한 것은 없습니다. 서비스 워커가 없으므로 초기 로드에는 여전히 연결이 필요합니다.
전화에서 작동합니까?
예. 레이아웃은 320 CSS 픽셀부터 작동하고 양식 텍스트는 16px이므로 모바일 Safari는 초점을 확대하지 않으며 컨트롤은 44픽셀 터치 대상 최소값을 충족합니다. 편집기와 출력은 자체 상자 내에서 스크롤되므로 축소된 JSON의 긴 줄은 페이지를 넓히지 않습니다.
신뢰할 수 없는 입력에 HTML 편집기의 새니타이저를 사용해도 안전합니까?
아니요, 패널에서는 그렇게 말합니다. 이는 편집기 자체 출력에 대한 허용 목록입니다. 고정 목록 외부의 요소와 속성은 제거되고, 나열되지 않으면 속성이 살아남지 않기 때문에 이벤트 핸들러는 살아남을 수 없으며, http, https, mailto, tel, ftp 및 상대 링크만 유지됩니다. 그러면 이 편집기에서 내보내는 내용을 귀하가 제어하는 페이지에 안전하게 붙여넣을 수 있습니다. 이는 범용 XSS 필터가 아닙니다. 이는 HTML5 파서가 아닌 문자열 토큰화기이므로 원칙적으로 브라우저에서 적대적인 페이로드를 다르게 구문 분석할 수 있습니다. 미리보기는 허용 스크립트가 없는 샌드박스 iframe이므로 거기에서는 아무것도 실행할 수 없습니다.
chmod 계산기에서 때때로 S와 T를 대문자로 표시하는 이유는 무엇입니까?
특수 비트가 설정되어 있고 일치하는 실행 비트가 설정되어 있지 않기 때문입니다. 4755는 실행할 수 있는 setuid 프로그램인 rwsr-xr-x입니다. 4644는 누구도 실행할 수 없는 setuid 파일인 rwSr--r--이며 이는 거의 항상 실수입니다. 대문자는 비트에 아무런 영향을 미치지 않는다는 것을 알려주는 시스템이며, 거기에 소문자 s를 표시하는 계산기는 사용자가 확인해야 할 한 가지를 숨길 것입니다.
Docker 변환기가 내가 붙여넣은 명령을 실행합니까?
아니요. 인용 인식 토크나이저로 문자열을 분할하고 조각을 읽습니다. 코드베이스 어디에도 평가판, 셸, 하위 프로세스가 없습니다. 백틱, $(...) 및 세미콜론은 리터럴 문자로 유지됩니다. 변환할 수 없는 플래그는 삭제되지 않고 눈에 보이는 경고에 이름이 지정됩니다. 왜냐하면 원래 명령보다 자동으로 더 적은 작업을 수행하는 작성 파일은 이 도구가 생성할 수 있는 최악의 것이기 때문입니다.
크론 미리보기 시간이 내 서버와 일치하지 않는 이유는 무엇입니까?
일반적으로 시간대: cron은 실행되는 머신의 영역을 사용하고 미리보기에서는 선택한 영역을 사용하므로 서버의 영역으로 설정합니다. 또 다른 가능한 원인은 날짜 규칙입니다. 날짜와 요일이 모두 설정되면 크론은 둘 중 하나가 일치할 때 실행되며, 이는 대부분의 사람들이 예상하는 것보다 더 자주 실행됩니다. 해당되는 경우 생성기가 경고합니다.
광고나 분석이 있나요?
현재 구성에서는 광고가 비활성화되어 있습니다. 사이트 전체 분석은 구성된 정식 프로덕션 호스트에서만 실행되며 개인정보 보호정책에 공개됩니다. 붙여넣은 값, 토큰, URL 및 파일 내용은 ToolAcre의 자체 분석 이벤트에서 제외됩니다.
제한사항
- 모든 것이 하나의 브라우저 탭에서 실행되므로 모든 유틸리티는 장치의 메모리에 의해 제한됩니다. 각각은 명시적인 입력 한도를 갖고 있으며 동결보다는 큰 작업을 거부합니다.
- 해싱 및 UUID 생성에는 브라우저가 Web Crypto를 노출하는 곳인 보안 컨텍스트(https:// 또는 localhost)가 필요합니다.
- JWT 디코더는 서명을 확인하지 않으며 암호화된 JWE 토큰은 전혀 디코딩할 수 없습니다.
- YAML은 데이터 전용 스키마로 읽혀집니다. 맞춤 태그를 사용하는 문서는 설계상 거부됩니다.
- HTML 엔터티 테이블은 모든 2,231 HTML5 명명된 참조가 아닌 실제 하위 집합을 다루며 알 수 없는 이름은 추측되기보다는 보고됩니다.
- diff는 전체 라인을 비교합니다. 변경된 줄 내에는 단어 수준이나 문자 수준 강조 표시가 없습니다.
- HTML 편집기의 새니타이저는 신뢰할 수 없는 입력을 위한 범용 XSS 필터가 아닌 자체 출력을 위한 허용 목록이며 이미지, 테이블 또는 스타일이 없습니다.
- docker 변환기는 한 번에 하나의 docker run 명령을 처리하고 표시할 수 없는 모든 플래그를 삭제하는 대신 이름을 지정합니다.
- cron 생성기는 5개 필드로 구성된 crontab 구문만 읽으며 다음 실행 시간은 서버에 대한 보장이 아니라 브라우저의 시간대 데이터를 기반으로 한 미리 보기입니다.