📄 httpauth.c
字号:
///////////////////////////////////////////////////////////////////////////////// http.c//// MiniWeb HTTP authentication implementation///////////////////////////////////////////////////////////////////////////////#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include "httppil.h"#include "httpapi.h"#include "httpint.h"#ifdef HTTPAUTHDWORD g_dwAuthenticatedNode=0;DWORD g_dwAuthenticationExpirationTime=0;OCTET g_bAuthenticationOn=FALSE;extern HttpStats g_stats;#endif////////////////////////////////////////////////////////////////////////////// _mwCheckAuthentication// Check if a connected peer is authenticated////////////////////////////////////////////////////////////////////////////BOOL _mwCheckAuthentication(HttpSocket* phsSocket){ BOOL bAuthenticated=TRUE;#ifdef HTTPAUTH struct sockaddr_in sinAddress; socklen_t sLength=sizeof(struct sockaddr_in); getpeername(phsSocket->iSocket, (struct sockaddr*)&sinAddress,&sLength); if (g_bAuthenticationOn && g_dwAuthenticatedNode!=ntohl(sinAddress.sin_addr.s_addr)) { // Not authenticated g_stats.authFailCount++; bAuthenticated=FALSE; } else if (g_bAuthenticationOn) { // Extend authentication period g_dwAuthenticationExpirationTime = gettime() + HTTPAUTHTIMEOUT; } #endif return bAuthenticated;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -