reCAPTCHA v3는 사용자를 방해하지 않고 각 요청에 대한 점수를 반환합니다. 점수는 사이트와의 상호작용을 기반으로 하며 이를 기준으로 사이트에 적절한 조치를 취할 수 있습니다. reCAPTCHA 관리 콘솔에서 reCAPTCHA v3 키를 등록합니다.
이 페이지에서는 웹페이지에서 reCAPTCHA v3를 사용 설정하고 맞춤설정하는 방법을 설명합니다.
웹사이트에서 삽입 위치
reCAPTCHA v3는 사용자를 방해하지 않으므로 언제든지 영향을 미치지 않고 실행할 수 있습니다.
알 수 있습니다. reCAPTCHA는 사이트와의 상호작용에 관한 컨텍스트가 가장 있을 때 가장 잘 작동합니다.
이는 적법한 행동과 악의적인 행동을 모두 보는 데서 비롯됩니다. 따라서
페이지의 백그라운드에서 양식이나 작업에 대한 reCAPTCHA 인증을
분석.
동일한 페이지에서 원하는 만큼 많은 작업에 대해 reCAPTCHA를 실행할 수 있습니다.
챌린지를 버튼에 자동으로 바인딩
페이지에서 reCAPTCHA v3를 사용하는 가장 쉬운 방법은
필요한 JavaScript 리소스를 가져오고 html 버튼에 몇 가지 속성을 추가합니다.
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_site_key', {action: 'submit'}).then(function(token) {
// Add your logic to submit to your backend server here.
});
});
}
</script>
reCAPTCHA v3는 점수를 반환합니다. 1.0은 정상적인 상호작용, 0.0은 봇일 가능성이 매우 높습니다.
이 점수를 바탕으로 사이트 상황에 따라 다양한 조치를 취할 수 있습니다. 모든 사이트는
다음은 사이트에서 점수를 사용하는 방법의 몇 가지 예입니다. 아래 예와 같이
트래픽을 차단하는 대신 백그라운드에서 조치를 취하여 사이트를 더 안전하게 보호할 수 있습니다.
사용 사례
추천
홈페이지
스크래퍼를 필터링하면서 관리 콘솔에서 일관된 트래픽 보기를 확인하세요.
로그인
점수가 낮을 경우 크리덴셜 스터핑 공격을 방지하기 위해 2단계 인증 또는 이메일 인증을 요구합니다.
소셜
악의적인 사용자로부터 응답하지 않은 친구 요청을 제한하고 위험한 댓글을 신고하세요.
전자상거래
봇보다 실제 매출을 우선적으로 고려하고 위험한 거래를 파악합니다.
reCAPTCHA는 사이트에서 실제 트래픽을 확인하여 학습합니다. 따라서 스테이징의 점수는
구현 직후에 프로덕션 환경과 다를 수 있습니다. reCAPTCHA v3는
사용자 플로우를 중단하면 먼저 조치를 취하지 않고 reCAPTCHA를 실행한 다음
관리 콘솔의 트래픽을 확인하여 기준점을 설정할 수 있습니다. 작성자:
기본적으로 0.5의 임계값을 사용할 수 있습니다.
작업
reCAPTCHA v3에는 새로운 개념인 작업이 도입되었습니다. 작업 이름을 지정하는 경우
reCAPTCHA를 실행하는 각 위치에서 다음과 같은 새로운 기능을 사용 설정합니다.
악의적인 행위와 감지하기 때문에 작업의 컨텍스트에 따른 적응형 위험 분석
다를 수 있습니다
중요한 점은 reCAPTCHA 응답을 확인할 때
action name은 예상하는 이름입니다.
사이트 인증 응답
reCAPTCHA v2와 마찬가지로 응답 토큰을 확인하도록 요청합니다.
보이지 않는 reCAPTCHA
응답은 JSON 객체입니다.
{"success":true|false,// whether this request was a valid reCAPTCHA token for your site"score":number// the score for this request (0.0 - 1.0)"action":string// the action name for this request (important to verify)"challenge_ts":timestamp,// timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)"hostname":string,// the hostname of the site where the reCAPTCHA was solved"error-codes":[...]// optional}
팁
reCAPTCHA 라이브러리가 로드되면 grecaptcha.ready()가 함수를 실행합니다. 받는사람
api.js로 경합 상태를 피하려면 api.js을
grecaptcha를 호출하거나
onload 콜백을 호출합니다.
다음과 같이 흥미롭거나 민감한 작업에 execute 호출을 끌어 보세요.
등록, 비밀번호 재설정, 구매 또는 재생
https://www.google.com/recaptcha/api.js?trustedtypes=true 사용 용도
신뢰할 수 있는 유형과 호환되는 코드를 로드합니다.
[null,null,["최종 업데이트: 2025-07-25(UTC)"],[[["\u003cp\u003ereCAPTCHA v3 provides a score-based system to assess user interactions without interrupting their experience, allowing you to take appropriate actions based on risk levels.\u003c/p\u003e\n"],["\u003cp\u003eYou can implement reCAPTCHA v3 by either automatically binding it to a button or programmatically invoking it for more control over when it runs.\u003c/p\u003e\n"],["\u003cp\u003ereCAPTCHA v3 uses "actions" to categorize interactions, providing detailed data breakdown and adaptive risk analysis based on the specific context.\u003c/p\u003e\n"],["\u003cp\u003ereCAPTCHA v3 returns a score along with other details that you should verify on your backend to ensure the response is valid and the action is expected.\u003c/p\u003e\n"],["\u003cp\u003eYou should analyze reCAPTCHA v3 scores within your admin console and adjust action thresholds based on your site's traffic and risk tolerance, starting with a default of 0.5.\u003c/p\u003e\n"]]],["reCAPTCHA v3 provides a score per request, indicating the likelihood of a good interaction. Implement it by registering keys and including the JavaScript API. Execute reCAPTCHA on forms, actions, or in the background using either an automated button binding or the `grecaptcha.execute` method. Verify the response token, and interpret scores (0.0-1.0) to decide actions like requiring multi-factor authentication. Define action names to gain detailed data in the admin console. Always verify the action name in the response.\n"],null,["# reCAPTCHA v3 returns a score for each request without user friction. The score is based on interactions with your site and enables you to take an appropriate action for your site. Register reCAPTCHA v3 keys on the [reCAPTCHA Admin console](https://www.google.com/recaptcha/admin/create).\n\nThis page explains how to enable and customize reCAPTCHA v3 on your webpage.\n\nPlacement on your website\n-------------------------\n\nreCAPTCHA v3 will never interrupt your users, so you can run it whenever you like without affecting\nconversion. reCAPTCHA works best when it has the most context about interactions with your site,\nwhich comes from seeing both legitimate and abusive behavior. For this reason, we recommend\nincluding reCAPTCHA verification on forms or actions as well as in the background of pages for\nanalytics.\n| **Note:** reCAPTCHA tokens expire after two minutes. If you're protecting an action with reCAPTCHA, make sure to call `execute` when the user takes the action rather than on page load.\n\nYou can execute reCAPTCHA on as many actions as you want on the same page.\n\nAutomatically bind the challenge to a button\n--------------------------------------------\n\nThe easiest method for using reCAPTCHA v3 on your page is to include the\nnecessary JavaScript resource and add a few attributes to your html button.\n\n1. Load the JavaScript API.\n\n \u003cscript src=\"https://www.google.com/recaptcha/api.js\"\u003e\u003c/script\u003e\n\n2. Add a callback function to handle the token.\n\n \u003cscript\u003e\n function onSubmit(token) {\n document.getElementById(\"demo-form\").submit();\n }\n \u003c/script\u003e\n\n3. Add attributes to your html button.\n\n \u003cbutton class=\"g-recaptcha\" \n data-sitekey=\"reCAPTCHA_site_key\" \n data-callback='onSubmit' \n data-action='submit'\u003eSubmit\u003c/button\u003e\n\nProgrammatically invoke the challenge\n-------------------------------------\n\nIf you wish to have more control over when reCAPTCHA runs, you can use the\n`execute` method in `grecaptcha` object. To do this,\nyou need to add a `render` parameter to the reCAPTCHA script load.\n\n1. Load the JavaScript API with your sitekey.\n\n \u003cscript src=\"https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key\"\u003e\u003c/script\u003e\n\n2. Call `grecaptcha.execute` on each action you wish to protect.\n\n \u003cscript\u003e\n function onClick(e) {\n e.preventDefault();\n grecaptcha.ready(function() {\n grecaptcha.execute('reCAPTCHA_site_key', {action: 'submit'}).then(function(token) {\n // Add your logic to submit to your backend server here.\n });\n });\n }\n \u003c/script\u003e\n\n3. Send the token immediately to your backend with the request to\n [verify](/recaptcha/docs/verify).\n\nInterpreting the score\n----------------------\n\nreCAPTCHA v3 returns a score (1.0 is very likely a good interaction, 0.0 is very likely a bot).\nBased on the score, you can take variable action in the context of your site. Every site is\ndifferent, but below are some examples of how sites use the score. As in the examples below, take\naction behind the scenes instead of blocking traffic to better protect your site.\n\n| Use case | Recommendation |\n|------------|----------------------------------------------------------------------------------------------------------------|\n| homepage | See a cohesive view of your traffic on the admin console while filtering scrapers. |\n| login | With low scores, require 2-factor-authentication or email verification to prevent credential stuffing attacks. |\n| social | Limit unanswered friend requests from abusive users and send risky comments to moderation. |\n| e-commerce | Put your real sales ahead of bots and identify risky transactions. |\n\nreCAPTCHA learns by seeing real traffic on your site. For this reason, scores in a staging\nenvironment or soon after implementing may differ from production. As reCAPTCHA v3 doesn't ever\ninterrupt the user flow, you can first run reCAPTCHA without taking action and then decide on\nthresholds by looking at your traffic in the [admin console](https://g.co/recaptcha/admin). By\ndefault, you can use a threshold of 0.5.\n\nActions\n-------\n\nreCAPTCHA v3 introduces a new concept: actions. When you specify an action name\nin each place you execute reCAPTCHA, you enable the following new features:\n\n- A detailed break-down of data for your top ten actions in the [admin console](https://g.co/recaptcha/admin/)\n- Adaptive risk analysis based on the context of the action, because abusive behavior can vary.\n\nImportantly, when you verify the reCAPTCHA response, you should verify that the\naction name is the name you expect.\n| **Note:** Actions might contain only alphanumeric characters, slashes, and underscores. Actions must not be user-specific.\n\nSite Verify Response\n--------------------\n\nMake the request to [verify the response token](/recaptcha/docs/verify) as with reCAPTCHA v2 or\nInvisible reCAPTCHA.\n\nThe response is a JSON object: \n\n {\n \"success\": true|false, // whether this request was a valid reCAPTCHA token for your site\n \"score\": number // the score for this request (0.0 - 1.0)\n \"action\": string // the action name for this request (important to verify)\n \"challenge_ts\": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)\n \"hostname\": string, // the hostname of the site where the reCAPTCHA was solved\n \"error-codes\": [...] // optional\n }\n\n### Tips\n\n1. `grecaptcha.ready()` runs your function when the reCAPTCHA library loads. To avoid race conditions with the `api.js`, include the `api.js` before your scripts that call grecaptcha, or continue to use the [onload callback](/recaptcha/docs/display#explicit_render) that's defined with the v2 API.\n2. Try hooking the `execute` call to interesting or sensitive actions like Register, Password Reset, Purchase, or Play.\n3. Use `https://www.google.com/recaptcha/api.js?trustedtypes=true` to load code compatible with [Trusted Types](https://web.dev/trusted-types/)."]]