AspNetCore 에서 행동 인증 을 위 한 인증 절 차 를 사용 합 니 다.
6952 단어 aspnetcore극히 효험 이 있다인증
극 검 검증 은 컴퓨터 분야 에서 자연인 과 로봇 을 구분 하 는 데 사용 되 는 간단 한 통합 방식 으로 개발 자 에 게 안전 하고 편리 한 클 라 우 드 검증 서 비 스 를 제공 하 는 것 이다.
기 존의 전통 적 인 검증 코드 와 달리 사용자 가 퍼 즐 을 완성 하 는 과정 에서 의 행위 특징 을 분석 하고 데이터 분석 을 통 해 사람 인지 기계 인지 판단 한다.사용 자 는 현란 한 영문 문자 나 한 자 를 마주 하지 않 아 도 되 고 전체 검증 과정 이 게임 처럼 재미 있어 집 니 다.
선행 효과 도
극 검 의 절차
공식 문서 주소 https://docs.geetest.com/install/deploy/server/csharp
극 검 의 검증 절 차 를 간단히 설명 하 다.
공식 사진 을 인용 하 다
•서버 에 인증 매개 변 수 를 요청 합 니 다.
•클 라 이언 트 sdk 인증 완료
•클 라 이언 트 sdk 인증 데이터 로 서버 2 차 인증 제출
netcore 에서 극 검 사 를 사용 합 니 다.
공식 sdk 를 살 펴 본 후에 별로 좋 지 않 은 것 을 발 견 했 습 니 다.극 검 절차 에 따라 netcore 에 적용 되 는 극 검 sdk 오픈 소스 주 소 를 썼 습 니 다.이미 nuget 패 키 지 를 보 내 sharpplug.geetest 를 검색 하면 됩 니 다.
사용 방식 이 매우 간단 하 니,다음은 하나의 예 를 통 해 설명 하 겠 습 니 다.
명령
dotnet new mvc
을 사용 하여 뮤 직 비디오 프로젝트 를 만 듭 니 다.다음 사용 명령
dotnet add package sharpplug.geetest
nuget 패키지 설치startup 파일 을 열 어 Configure Services 에 geetest 서 비 스 를 설정 합 니 다.
제 가 극 검 에서 테스트 용 id 와 key 를 신 청 했 습 니 다.직접 테스트 해서 사용 하 실 수 있 습 니 다.
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
// GeetestOptions id key
services.AddGeetest(opt=>{
opt.Id = "e2697c763685a34be93a7d255ee06b59";
opt.Key = "7882a2d954106041a731f5e10038982a";
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
검증 매개 변수 와 2 차 검증 을 완료 한 클래스 는 GeetestManager 입 니 다.주로 두 가지 방법 이 있 습 니 다.인증 매개 변 수 를 가 져 오 는 방법 은 Register 입 니 다.주로 세 개의 매개 변수 userid(사용자 표지)client Type(클 라 이언 트 유형)과 ipaddress(클 라 이언 트 ip)가 있 습 니 다.매개 변수 에 대한 자세 한 내용 은 극 검사 문 서 를 참조 하 십시오.
Task<GeeTestRegisterResult> Register(string userId = null, string clientType = "unknown", string ipAddress = "unknown")
2 차 검증 방법 Validate 매개 변 수 는?•오프라인 오프라인 인증 여부(인증 매개 변 수 를 가 져 오 는 데 실 패 했 을 때)
•UserId 사용자 표식
•Challenge
•Seccode
•Validate
Task<bool> Validate(GeetestValidateInput input)
홈 컨트롤 러 를 열 고 인증 파 라 메 터 를 가 져 오 는 방법 을 추가 합 니 다.GeetestManager 를 주입 하 십시오.
private readonly GeetestManager _geetestManager;
public HomeController(GeetestManager geetestManager)
{
_geetestManager = geetestManager;
}
public async Task<GeeTestRegisterResult> GeetestRegister()
{
return await _geetestManager.Register(clientType: "web", ipAddress: "127.0.0.1");
}
다음은 홈 컨트롤 러 에 2 차 인증 을 추가 하 겠 습 니 다.
public async Task<bool> GeetestValidate(GeetestValidateInput input)
{
return await _geetestManager.Validate(input);
}
서버 부분 이 완료 되 었 습 니 다.index.cshtml 를 열 고 gt.js 를 참조 하 십시오.
<script type="text/javascript" src="https://static.geetest.com/static/tools/gt.js"></script>
그리고 html 요 소 를 추가 합 니 다.
<h2>Getest</h2>
<div id="geetestform">
<input type="hidden" name="geetest_challenge" id="geetest_challenge">
<input type="hidden" name="geetest_validate" id="geetest_validate">
<input type="hidden" name="geetest_seccode" id="geetest_seccode">
</div>
<button class="form-control btn-default" id="validate"> </button>
극 검 사 는 초기 화 과정 이 있 습 니 다.먼저 검증 매개 변수 api 를 호출 하여 극 검 사 를 초기 화 합 니 다.
$(function() {
$.ajax({
url: "/home/GeetestRegister",
type: "get",
dataType: "json",
success: function(data) {
// offline
offline = !data.success;
initGeetest({
// SDK
gt: data.gt,
challenge: data.challenge,
offline: !data.success,
new_captcha: true,
product: "float",
width: "100%"
},function(){
//
captchaObj.appendTo(document.getElementById('geetestform'));
})
}
});
});
이 때 실행 항목 은 이미 매우 검 증 된 인증 폼 을 볼 수 있 고 이미 검증 할 수 있 지만 버튼 을 누 르 는 이 벤트 를 추가 하여 2 차 검증 을 해 야 합 니 다.
$("#validate").click(() => {
var validate = captchaObj.getValidate();
if (validate === undefined || !validate) {
alert(" ");
return;
}
$.ajax({
url: "/home/GeetestValidate",
method:"post",
data: {
offline: offline,
challenge: validate.geetest_challenge,
validate: validate.geetest_validate,
seccode: validate.geetest_seccode
},
success: function(res) {
if (res) {
alert(" ! ");
captchaObj.reset();
} else {
alert(" ! ");
captchaObj.reset();
}
}
});
});
위 에서 말 한 것 은 편집장 이 소개 한 AspNetCore 에서 극 검 을 사용 하여 행위 인증 을 하 는 검증 절차 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shadows: Spooktober in Answer Set ProgrammingASP can be viewed as an extension of Prolog. Pure Prolog rules are based on definite clauses, that is Horn clauses which...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.