GraphQL은 뜨겁게 피어오르는 쓰레기 더미입니다.
우선, GraphQL은 프런트엔드 클라이언트가 SQL을 데이터베이스로 보낼 수 있도록 허용하는 것과 거의 같습니다. 큰 소리로 외치는 것에 대한 이름이 있으며 이를 SQL INJECTION ATTACKS라고 합니다. 의심스러운 경우 Google에 문의하십시오. 기능의 절반을 절단하여 GraphQL 끝점에 보안을 적용할 수 있다는 것을 알고 있습니다. 그러나 보안은 기본적으로 필요한 것 중 하나입니다. 일부 기술에 "기본 보안"이 없는 경우 서버 인프라에 대한 루트 액세스 권한이 없는 누구에게도 노출되지 않습니다.
두 번째로 GraphQL은 클라이언트에서 비즈니스 로직을 작성하도록 합니다. 이것은 Postman 계정이 있는 모든 사람이 비즈니스 논리를 우회하고 잠재적으로 은행 계좌를 비우고 버뮤다에서 자신의 계정으로 전체 보유를 이체하는 동시에 해먹에서 우산 음료를 마시고 있는 Instagram의 이미지를 공개적으로 공유할 수 있음을 의미합니다. 해변가에서.
GraphQL이 쓰레기인 이유를 몇 시간 동안 더 설명할 수 있지만 실제로는 위의 두 가지 사항으로 충분해야 합니다. "취미 프로젝트"및/또는 시스템 관리자 유형의 앱보다 훨씬 더 복잡한 것에 GraphQL을 사용하는 경우 다음과 같은 경고 표시를 해야 합니다.
I have no idea about anything related to software development
왜냐하면 실제로 GraphQL이 잘하는 것은 그것뿐이기 때문입니다. 내 제안은 우리가 GraphQL을 "이름 변경"하고 실제로 다음과 같이 참조하는 것입니다.
JSON based SQL insertion attacks
GraphQL 엔드포인트를 보호하는 것은 서버의 비즈니스 로직과 서버의 유효성 검사 및 보안을 통해 실제 소프트웨어 개발 솔루션을 구현하는 것과 마찬가지로 어려울 수 있습니다. GraphQL 엔드포인트를 자신 및/또는 앱의 시스템 관리자를 제외한 모든 사람에게 노출하는 것은 웹 사이트의 공개 부분에 자리 표시자가 있는 텍스트 영역을 제공하는 것보다 약간 더 안전할 것입니다. "여기에 SQL을 제공하십시오 ...". 이해가 되지 않으면 코드에 입력해 보겠습니다.
<textarea placeholder="Insert SQL here ..."></textarea>
<button (onclick)="executeSql()"></button>
Aista에서 GraphQL을 수행하지 않고 대신 Hyperlambda에서 우리의 작업을 구현하는 이유가 있습니다. 그 이유는 JSON 기반 SQL 삽입 공격을 좋아하지 않기 때문입니다.
GraphQL is a hot smoking pile of garbage, period!
Reference
이 문제에 관하여(GraphQL은 뜨겁게 피어오르는 쓰레기 더미입니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/polterguy/graphql-is-a-hot-smoking-pile-of-garbage-141g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)