무단 요청으로부터 API를 보호하는 방법
API는 다른 시스템을 연결하는 최신 애플리케이션의 핵심입니다. 그러나 그들은 또한 무단 액세스 및 악의적 인 착취에 취약합니다. API를 보호하려면 CORS 인증, 강력한 인증 및 실시간 모니터링을 포함한 여러 보안 정책이 필요합니다. 이 기사는 신뢰할 수있는 클라이언트 만 API에 액세스 할 수 있도록 몇 가지 방법을 설명합니다.
1. CORS를 올바르게 구성하십시오
CORS (Cross-Domain Resource Sharing)는 API와 상호 작용할 수있는 소스를 제어하는 주요 보안 메커니즘입니다. CORS의 올바른 구성은 효과적으로 무단 액세스를 방지 할 수 있습니다.
ASP.NET 코어 예 :
<code class="csharp">builder.Services.AddCors(options => { options.AddPolicy("RestrictedOrigins", policy => { policy.WithOrigins("https://mywebsite.com", "https://trustedpartner.com") // 允许的来源.AllowAnyHeader() .AllowAnyMethod(); }); }); // 应用CORS策略app.UseCors("RestrictedOrigins");</code>
중요한 규칙 :
-
AllowAnyOrigin
피하십시오 : 모든 출처를 허용하면 API 위험이 크게 증가합니다. -
IsOriginAllowed(_ => true)
사용하지 마십시오 : 이것은 소스 확인을 완전히 우회합니다. - 메소드 및 헤더 제한 :
AllowAnyMethod
제한하고 허용 범위를 필요한 범위로AllowAnyHeader
.
2. 신원 확인 및 승인을 구현합니다
인증을 통해 승인 된 사용자 또는 시스템 만 API 엔드 포인트에 액세스 할 수 있습니다. JWT (JSON Web Token)는 일반적으로 사용되는 방법입니다.
JWT 구현 단계 :
- 클라이언트는 요청 헤더에서 JWT를 보냅니다.
<code>Authorization: Bearer <your-jwt-token></your-jwt-token></code>
- 서버 측 확인 토큰 :
<code class="csharp">app.UseAuthentication(); app.UseAuthorization();</code>
ASP.NET 코어 구성 예 :
<code class="csharp">builder.Services.AddAuthentication("Bearer") .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, ValidIssuer = "https://mywebsite.com", ValidAudience = "https://mywebsite.com", IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("secret-key")) }; });</code>
3. 원점 헤더를 명시 적으로 확인하십시오
CORS가 구성된 경우에도 서버 측 미들웨어에서 Origin
헤더를 수동으로 확인하여 추가 보안 계층을 추가 할 수 있습니다.
예:
<code class="csharp">app.Use(async (context, next) => { string origin = context.Request.Headers["Origin"].ToString(); string[] allowedOrigins = { "https://mywebsite.com", "https://trustedpartner.com" }; if (!string.IsNullOrEmpty(origin) && !allowedOrigins.Contains(origin)) { context.Response.StatusCode = StatusCodes.Status403Forbidden; await context.Response.WriteAsync("Origin not allowed."); return; } await next(); });</code>
4. 의심스러운 IP를 차단하십시오
공격 표면을 줄이기 위해 알려진 악성 IP 주소의 요청을 필터링하고 차단합니다.
미들웨어 예 :
<code class="csharp">app.Use(async (context, next) => { string clientIp = context.Connection.RemoteIpAddress?.ToString(); string[] blockedIPs = { "192.168.1.100", "10.0.0.50" }; if (blockedIPs.Contains(clientIp)) { context.Response.StatusCode = StatusCodes.Status403Forbidden; await context.Response.WriteAsync("Blocked IP."); return; } await next(); });</code>
5. 구현 속도 제한
학대 및 무차별 적 공격을 방지하기위한 고객 요청 수를 제한하십시오.
ASP.NET 코어 예 :
설치 패키지 :
<code class="bash">dotnet add package AspNetCoreRateLimit</code>
구성 속도 제한 :
<code class="csharp">builder.Services.AddMemoryCache(); builder.Services.Configure<ipratelimitoptions>(options => { options.GeneralRules = new List<ratelimitrule> { new RateLimitRule { Endpoint = "*", Limit = 100, // 请求限制Period = "1m" // 每分钟} }; }); builder.Services.AddInMemoryRateLimiting(); app.UseIpRateLimiting();</ratelimitrule></ipratelimitoptions></code>
6. 모든 연결은 https를 사용합니다
HTTPS에게 클라이언트와 API 간의 안전한 통신을 보장합니다.
ASP.NET Core에서 HTTPS 구성 :
<code class="csharp">webBuilder.UseKestrel() .UseHttps();</code>
HTTP 트래픽을 HTTPS로 리디렉션합니다.
<code class="csharp">app.UseHttpsRedirection();</code>
7. 요청을 모니터링하고 기록합니다
로깅 구현, 알 수없는 소스의 많은 요청과 같은 예외 패턴을 감지하십시오.
예:
<code class="csharp">app.Use(async (context, next) => { string origin = context.Request.Headers["Origin"].ToString(); Console.WriteLine($"Request from origin: {origin}"); await next(); });</code>
포괄적 인 모니터링을 위해 애플리케이션 통찰력, Serilog 또는 Elastic Stack과 같은 도구를 사용하십시오.
8. 자세한 오류 응답을 피하십시오
오류 메시지에 민감한 정보를 노출시키지 않으면 공격자에게 도움이됩니다.
예:
<code class="csharp">app.UseExceptionHandler("/error"); // 将错误重定向到安全页面</code>
결론적으로
무단 요청으로부터 API를 보호하려면 여러 계층의 방어 계층이 필요합니다. CORS를 올바르게 구성하고, 소스 및 헤더를 명시 적으로 확인하고, 인증 및 속도 제한을 구현하고, HTTPS 사용 및 트래픽을 모니터링합니다. 이러한 모범 사례에 따라 무단 액세스의 위험을 크게 줄일 수있어 신뢰할 수있는 고객 만 API에 액세스 할 수 있습니다.
위 내용은 무단 요청으로부터 API를 보호하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











CentOS 종료 명령은 종료이며 구문은 종료 [옵션] 시간 [정보]입니다. 옵션은 다음과 같습니다. -H 시스템 중지 즉시 옵션; -P 종료 후 전원을 끕니다. -R 다시 시작; -대기 시간. 시간은 즉시 (현재), 분 (분) 또는 특정 시간 (HH : MM)으로 지정할 수 있습니다. 추가 정보는 시스템 메시지에 표시 될 수 있습니다.

CentOS 시스템 하에서 Gitlab의 백업 및 복구 정책 데이터 보안 및 복구 가능성을 보장하기 위해 CentOS의 Gitlab은 다양한 백업 방법을 제공합니다. 이 기사는 완전한 GITLAB 백업 및 복구 전략을 설정하는 데 도움이되는 몇 가지 일반적인 백업 방법, 구성 매개 변수 및 복구 프로세스를 자세히 소개합니다. 1. 수동 백업 gitlab-rakegitlab : 백업 : 명령을 작성하여 수동 백업을 실행하십시오. 이 명령은 gitlab 저장소, 데이터베이스, 사용자, 사용자 그룹, 키 및 권한과 같은 주요 정보를 백업합니다. 기본 백업 파일은/var/opt/gitlab/backups 디렉토리에 저장됩니다. /etc /gitlab을 수정할 수 있습니다

CentOS에 대한 Zookeeper Performance Tuning은 하드웨어 구성, 운영 체제 최적화, 구성 매개 변수 조정, 모니터링 및 유지 관리 등 여러 측면에서 시작할 수 있습니다. 특정 튜닝 방법은 다음과 같습니다. SSD는 하드웨어 구성에 권장됩니다. Zookeeper의 데이터는 디스크에 작성되므로 SSD를 사용하여 I/O 성능을 향상시키는 것이 좋습니다. 충분한 메모리 : 자주 디스크 읽기 및 쓰기를 피하기 위해 충분한 메모리 리소스를 동물원에 충분한 메모리 자원을 할당하십시오. 멀티 코어 CPU : 멀티 코어 CPU를 사용하여 Zookeeper가이를 병렬로 처리 할 수 있도록하십시오.

CentOS 시스템에서 HDFS 구성 확인에 대한 완전한 안내서이 기사에서는 CentOS 시스템에서 HDF의 구성 및 실행 상태를 효과적으로 확인하는 방법을 안내합니다. 다음 단계는 HDF의 설정 및 작동을 완전히 이해하는 데 도움이됩니다. Hadoop 환경 변수 확인 : 먼저 Hadoop 환경 변수가 올바르게 설정되어 있는지 확인하십시오. 터미널에서 다음 명령을 실행하여 Hadoop이 올바르게 설치되고 구성되었는지 확인하십시오. Hadoopversion Check HDFS 구성 파일 : HDFS의 Core 구성 파일은/etc/hadoop/conf/directory에 있으며 Core-Site.xml 및 HDFS-Site.xml이 중요합니다. 사용

CentOS에서 HDFS (Hadoop 분산 파일 시스템)를 구성 할 때 다음 주요 구성 파일을 수정해야합니다. core-site.xml : fs.defaultfs : hdfs : // localhost : 9000과 같은 HDFS의 기본 파일 시스템 주소를 지정합니다. Hadoop.tmp.dir : Hadoop 임시 파일의 스토리지 디렉토리를 지정합니다. hadoop.proxyuser.root.hosts 및 hadoop.proxyuser.ro

CentOS 시스템에서 Pytorch 모델을 효율적으로 교육하려면 단계가 필요 하며이 기사는 자세한 가이드를 제공합니다. 1. 환경 준비 : 파이썬 및 종속성 설치 : CentOS 시스템은 일반적으로 파이썬을 사전 설치하지만 버전은 더 오래 될 수 있습니다. YUM 또는 DNF를 사용하여 Python 3 및 Upgrade Pip : Sudoyumupdatepython3 (또는 SudodnfupdatePython3), PIP3INSTALL-UPGRADEPIP를 설치하는 것이 좋습니다. CUDA 및 CUDNN (GPU 가속도) : NVIDIAGPU를 사용하는 경우 Cudatool을 설치해야합니다.

CentOS 시스템에서 Pytorch GPU 가속도를 활성화하려면 Cuda, Cudnn 및 GPU 버전의 Pytorch를 설치해야합니다. 다음 단계는 프로세스를 안내합니다. CUDA 및 CUDNN 설치 CUDA 버전 호환성 결정 : NVIDIA-SMI 명령을 사용하여 NVIDIA 그래픽 카드에서 지원하는 CUDA 버전을보십시오. 예를 들어, MX450 그래픽 카드는 CUDA11.1 이상을 지원할 수 있습니다. Cudatoolkit 다운로드 및 설치 : NVIDIACUDATOOLKIT의 공식 웹 사이트를 방문하여 그래픽 카드에서 지원하는 가장 높은 CUDA 버전에 따라 해당 버전을 다운로드하여 설치하십시오. CUDNN 라이브러리 설치 :

CentOS 시스템 하의 HDFS 파일 시스템에 대한 설치, 구성 및 최적화 안내서이 기사에서는 CentOS 시스템에 HDF (Hadoop Distributed File System)를 설치, 구성 및 최적화하는 방법을 안내합니다. HDFS 설치 및 구성 Java 환경 설치 : 먼저 적절한 Java 환경이 설치되어 있는지 확인하십시오. /etc/profile 파일 편집, 다음을 추가하고 /usr/lib/java-1.8.0/jdk1.8.0_144를 실제 Java 설치 경로로 바꾸십시오 : Exportjava_home =/usr/lib/java-1.8.0/jdk1.8.0_144 exportpath = $ j
