{"action":"created","issue":{"url":"https://api.github.com/repos/shirasagi/shirasagi/issues/298","labels_url":"https://api.github.com/repos/shirasagi/shirasagi/issues/298/labels{/name}","comments_url":"https://api.github.com/repos/shirasagi/shirasagi/issues/298/comments","events_url":"https://api.github.com/repos/shirasagi/shirasagi/issues/298/events","html_url":"https://github.com/shirasagi/shirasagi/issues/298","id":62626783,"number":298,"title":"音声読み上げ: ボット対策","user":{"login":"sunny4381","id":3593466,"avatar_url":"https://avatars.githubusercontent.com/u/3593466?v=3","gravatar_id":"","url":"https://api.github.com/users/sunny4381","html_url":"https://github.com/sunny4381","followers_url":"https://api.github.com/users/sunny4381/followers","following_url":"https://api.github.com/users/sunny4381/following{/other_user}","gists_url":"https://api.github.com/users/sunny4381/gists{/gist_id}","starred_url":"https://api.github.com/users/sunny4381/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunny4381/subscriptions","organizations_url":"https://api.github.com/users/sunny4381/orgs","repos_url":"https://api.github.com/users/sunny4381/repos","events_url":"https://api.github.com/users/sunny4381/events{/privacy}","received_events_url":"https://api.github.com/users/sunny4381/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/shirasagi/shirasagi/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/shirasagi/shirasagi/labels/help%20wanted","name":"help wanted","color":"159818"},{"url":"https://api.github.com/repos/shirasagi/shirasagi/labels/level-major","name":"level-major","color":"eb6420"}],"state":"open","locked":false,"assignee":{"login":"sunny4381","id":3593466,"avatar_url":"https://avatars.githubusercontent.com/u/3593466?v=3","gravatar_id":"","url":"https://api.github.com/users/sunny4381","html_url":"https://github.com/sunny4381","followers_url":"https://api.github.com/users/sunny4381/followers","following_url":"https://api.github.com/users/sunny4381/following{/other_user}","gists_url":"https://api.github.com/users/sunny4381/gists{/gist_id}","starred_url":"https://api.github.com/users/sunny4381/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunny4381/subscriptions","organizations_url":"https://api.github.com/users/sunny4381/orgs","repos_url":"https://api.github.com/users/sunny4381/repos","events_url":"https://api.github.com/users/sunny4381/events{/privacy}","received_events_url":"https://api.github.com/users/sunny4381/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-03-18T08:46:49Z","updated_at":"2015-03-18T11:08:52Z","closed_at":null,"body":"紳士的なボットの場合、robots.txt や meta タグ、a タグの rel で抑制できる。\r\n非紳士的なボットの場合、全て無視してアクセスしてくる。\r\n\r\n非紳士的なボットにアクセスされた場合でも、オーバーロードしないように何らかの対策が必要。"},"comment":{"url":"https://api.github.com/repos/shirasagi/shirasagi/issues/comments/82905271","html_url":"https://github.com/shirasagi/shirasagi/issues/298#issuecomment-82905271","issue_url":"https://api.github.com/repos/shirasagi/shirasagi/issues/298","id":82905271,"user":{"login":"sunny4381","id":3593466,"avatar_url":"https://avatars.githubusercontent.com/u/3593466?v=3","gravatar_id":"","url":"https://api.github.com/users/sunny4381","html_url":"https://github.com/sunny4381","followers_url":"https://api.github.com/users/sunny4381/followers","following_url":"https://api.github.com/users/sunny4381/following{/other_user}","gists_url":"https://api.github.com/users/sunny4381/gists{/gist_id}","starred_url":"https://api.github.com/users/sunny4381/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunny4381/subscriptions","organizations_url":"https://api.github.com/users/sunny4381/orgs","repos_url":"https://api.github.com/users/sunny4381/repos","events_url":"https://api.github.com/users/sunny4381/events{/privacy}","received_events_url":"https://api.github.com/users/sunny4381/received_events","type":"User","site_admin":false},"created_at":"2015-03-18T11:08:52Z","updated_at":"2015-03-18T11:08:52Z","body":"[rack-attack middleware](http://kitak.hatenablog.jp/entry/2014/10/06/205713) なるものを見つけた。ぱっと見、良さそうだ。\r\nリクエスト数が多すぎるとき 429 を返す点もグッド。\r\n429 を応答してくれれば、上記の対応により「サーバが大変混み合って...」と応答することができる。"}}