タグ

graphqlに関するyu3ho7のブックマーク (3)

  • GraphQL API を悪意あるクエリから守る手法 - yigarashiのブログ

    実サービスで GraphQL API をインターネットに公開する際は、悪意あるクエリに対する防衛が欠かせません。この記事における「悪意あるクエリ」とはサービスに意図的に負荷をかけるクエリのことです。GraphQL では 、木構造や再帰的な構造を利用して、一回のクエリで容易に数百万・数千万件のデータを取得することができます。そのようなクエリを実行してしまうと、アプリケーションサーバーや、その後ろにいる別のサービスに甚大な負荷がかかります。これは攻撃者からしてみれば恰好の的で、なんらか対策を講じる必要があります。 幸いこうした問題はよく知られており、クエリを静的に解析するライブラリがいくつか存在します。しかし、そうしたライブラリをどう使うかといったことはあまり議論されておらず、効果的な対策を行うのは依然として難しい状況だと感じます。この記事では、典型的な負荷の高いクエリとその具体的な対策を紹介

    GraphQL API を悪意あるクエリから守る手法 - yigarashiのブログ
  • LaravelでGraphQLを使い倒してみた - Qiita

    はじめに Laravel Advent Calendar 2018 - Qiitaの10日目の記事です! 1年前くらいから聞く機会がぐっと増え、最近懐疑的な意見がだんだん増えてきた印象を個人的に持っているGraphQLですが、 RestfulライクなAPIの代替案として有効なのか自分で触って確かめてみたかった Laravelで使い倒す記事を見かけていなかった のでこの機会に使い倒してみました(と言っても多少踏み込んだ程度ですが😅)。 ※実装例は順次追加していきます。 なお、この記事では GraphQLとは何か GraphQLの諸々(クエリ、ミューテーション)の説明 クエリの記述方法の説明 などは記載しません。 (記述方法についての説明はしませんが、使い倒す中で実行するクエリは記載していきます) 前提 php: 7.1.3 laravel/framework: 5.7.16 nuwave/

    LaravelでGraphQLを使い倒してみた - Qiita
  • Apollo Client + React Native + TypeScript で辛かった話 - Qiita

    「辛かった」と書いていますが、実際にはまだ「辛い」です。 Apollo の導入を検討している方の参考になれば幸いです。 [追記 2021年4月] 記事を書いた時点(2019年9月)では、私の Apollo Client の理解が浅かったのが原因でした。コメントで仰って下さっている通り queryWrite 等のキャッシュをちゃんと設定すれば、大半のケースでは問題が無いと思います。 ただ、 Apollo Client で辛いと感じている方がいるのは事実で、特にキャッシュの部分はこちらの記事でも言及されていました。 個人的には、現在は URQL で additionalTypenames をちゃんと使ってます。 Refetch を自動的に行ってくれるので最高です。 [/追記] 概要 React Native + TypeScriptプロジェクトApollo Client を使ってみた

    Apollo Client + React Native + TypeScript で辛かった話 - Qiita
  • 1