문제

Google Datastore에있는 엔티티 ID를 노출시키기 위해 저장됩니까? 예를 들어 내 코드에는이 ID가 포함 된 엔티티가 있습니다.

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String id;

ID는 이것과 유사합니다. agptzeertzawyvsqadlegzddrsuyrs

이 문자열에서 비밀번호, 응용 프로그램 URL 및 기타 정보를 추출 할 수 있습니까? 그 줄의 의미는 무엇입니까?

도움이 되었습니까?

해결책

해당 엔티티 ID에는 객체 ID, Appliation ID 및 객체 클래스 이름이 포함되어 있습니다. 단지 인코딩 된 문자열입니다. 실제로 어떤 종류의 보안 위험이 아닙니다.

다른 팁

KeyFactory를 사용하여 KeyToString, StringTokey로 변환 할 수 있습니다. Google App Engine:

Google App Engine의 데이터 스토리지에 고유 한 ID라고 생각하는 ID.

keyfactory 메소드 keyToString () 및 StringTokey ()를 사용하여 주요 인스턴스를 인코딩 된 문자열 표현으로 변환 할 수 있습니다.

인코딩 된 키 문자열을 사용하는 경우 추가 필드가있는 객체의 문자열 또는 숫자 ID에 액세스 할 수 있습니다.

도움이되기를 바랍니다.

호랑이.

LocalHost : 4321/_AH/Admin으로 이동하는 경우 SDK Datastore 뷰어를 활용할 수 있습니다. 여기서 모든 종류의 엔티티에는 키 필드와 이름/ID 필드가 있음을 알 수 있습니다.

@primarykey로서 Long, String 또는 Key를 사용하든, 문자열/번호가있는 ID/이름 열이 있으며, KEORNED는 SOP의 인코딩 된 키가 있습니다. 다른 게시물에서 언급했듯이,이 인코딩 해시 {md5s, 가장 가능성이 높습니다} appspot 응용 프로그램 ID, 데이터 객체의 완전히 자격을 갖춘 클래스 이름 및 @primarykey로 지정할 수있는 모든 것.

이 필드에 직접 액세스 할 수있는 유일한 시간은 데이터의 이름이 무엇인지 신경 쓰지 않는다면 {프로그램을 찾기 위해 프로그램이 필요할 때, 인간은 단어를 텍스트 박스} 또는 동일한 유형의 여러 객체를 갖고 싶을 때 {int?} {version in int?}를 사용하려면 인코딩 된 키 구문을 사용해야합니다. 키와 ID는 모두 DB에 존재합니다. 클래스에 필드를 넣든 인코딩 된 키 구문을 사용하면이 값에 액세스 할 수 있습니다.

또한 인코딩 된 키를 사용하는 응용 프로그램에는 사용 가능한 속도 보너스가 있습니다. Ajax 앱의 대규모 데이터 세트의 경우 데이터를 Pagination으로 만드는 유일한 방법은 모든 키를 선택하고 클라이언트로 보내고 클라이언트가 0-> x 레코드 수를 요청하고 다른 x-에 대한 링크를 구축하는 것입니다. y 결과, 전체 데이터에 대한 첫 번째 인코딩 된 키 세트로 서버를 쿼리하고, 응답을 멋진 작은 목록으로 구문 분석하고, 즉시 유용하지 않은 397 서버 데이터 객체를로드하지 마십시오.

와이어를 위아래로 인코딩 된 키를 전송하는 것은 인코딩되지 않은 키보다 약간 더 많은 대역폭이 걸릴 수 있습니다. 그러나 그것은 Appengine에서 CPU 사이클을 면도하고 할당량을 더 행복하게 만들고 모든 사람의 앱이 약간 더 빨리 실행됩니다!

이 키는 어떻게 든 무시되지 않더라도 1 차 키를 만드는 것만 큼 민감한 데이터 만 노출시킵니다. 앱 비밀번호는 관련이 없으며 Sane 데이터 모델에서는 사용자 비밀번호가 없습니다. {big may} leak가 사용자 이메일 주소, 인증에 제공된 사용자 클래스 또는 소스에 사용하는 클래스 이름을 사용하는 경우 사용자 이메일 주소입니다.

... 기본적으로 Firebug 요청을 시청할 때 이미 사용할 수있는 정보 만 노출 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top