タグ

ブックマーク / qiita.com/takeyoda (2)

  • GraphQL クライアントではクエリインジェクションに注意しよう - Qiita


     GraphQL API  API     variables variables https://graphql.org/learn/serving-over-http/#post-request  GraphQL  variables    API  const userInput =
    GraphQL クライアントではクエリインジェクションに注意しよう - Qiita
    sh19910711
    sh19910711 2024/06/17
    "クエリの一部にユーザ入力を文字列連結するのはやめ / 動的パラメータは variables で指定しましょう / ポピュラーな GraphQL クライアントであれば、 variables に当たる変数を渡すことができるインタフェースが用意されて" 2023
  • graphql-java を使うときはクエリのサイズ制限に注意しよう - Qiita

    環境 java 17 spring-boot 3.1.2 graphql-java 21.0 発端 GraphQL API の利用者から「クエリが実行できない!」という報告を受けました。 報告があったエラーは以下。 graphql.parser.exceptions.ParseCancelledException: More than 15,000 'grammar' tokens have been presented. To prevent Denial Of Service attacks, parsing has been cancelled. メッセージを見てすぐに「巨大なクエリを送っているクライアント側の責任だろう」とは思いましたが、そんな制限を実装したつもりは無いし、 API ドキュメントでも明言していなかったので、発生源を確認しました。 サイズ制限エラーの発生源 ログにスタ

    graphql-java を使うときはクエリのサイズ制限に注意しよう - Qiita
    sh19910711
    sh19910711 2024/06/16
    "計算リソースを過剰に消費させるような DoS 攻撃が成立し得るということで、デフォルトで制限が入っている / variables や fragment を使って GraphQL クエリをコンパクトにする + クライアントに「うまいことやってもらう」"
  • 1