mirror of
https://github.com/donpat1to/Schichtenplaner.git
synced 2025-11-30 22:45:46 +01:00
fixed ipSecurityCheck
This commit is contained in:
@@ -84,11 +84,5 @@ export const ipSecurityCheck = (req: AuthRequest, res: Response, next: NextFunct
|
|||||||
console.log(`🔐 Auth attempt from IP: ${clientIP}, Path: ${req.path}`);
|
console.log(`🔐 Auth attempt from IP: ${clientIP}, Path: ${req.path}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Block known malicious IPs (you can expand this)
|
next();
|
||||||
const blockedIPs = process.env.BLOCKED_IPS?.split(',') || [];
|
|
||||||
if (blockedIPs.includes(clientIP)) {
|
|
||||||
console.warn(`🚨 Blocked request from banned IP: ${clientIP}`);
|
|
||||||
res.status(403).json({ error: 'Access denied' });
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -49,12 +49,21 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
|||||||
const checkSetupStatus = async (): Promise<void> => {
|
const checkSetupStatus = async (): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
console.log('🔍 Checking setup status...');
|
console.log('🔍 Checking setup status...');
|
||||||
const response = await fetch(`${API_BASE_URL}/setup/status`);
|
const startTime = Date.now();
|
||||||
|
|
||||||
|
const response = await fetch(`${API_BASE_URL}/setup/status`, {
|
||||||
|
signal: AbortSignal.timeout(5000) // 5 second timeout
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`✅ Setup status response received in ${Date.now() - startTime}ms`);
|
||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
|
console.error('❌ Setup status response not OK:', response.status, response.statusText);
|
||||||
throw new Error('Setup status check failed');
|
throw new Error('Setup status check failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
console.log('✅ Setup status response:', data);
|
console.log('✅ Setup status response data:', data);
|
||||||
setNeedsSetup(data.needsSetup === true);
|
setNeedsSetup(data.needsSetup === true);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('❌ Error checking setup status:', error);
|
console.error('❌ Error checking setup status:', error);
|
||||||
@@ -95,7 +104,6 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Add the updateUser function
|
|
||||||
const updateUser = (userData: Employee) => {
|
const updateUser = (userData: Employee) => {
|
||||||
console.log('🔄 Updating user in auth context:', userData);
|
console.log('🔄 Updating user in auth context:', userData);
|
||||||
setUser(userData);
|
setUser(userData);
|
||||||
@@ -161,6 +169,8 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
|||||||
initializeAuth();
|
initializeAuth();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
const calculatedNeedsSetup = needsSetup === null ? true : needsSetup;
|
||||||
|
|
||||||
const value: AuthContextType = {
|
const value: AuthContextType = {
|
||||||
user,
|
user,
|
||||||
login,
|
login,
|
||||||
@@ -168,7 +178,7 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
|||||||
hasRole,
|
hasRole,
|
||||||
loading,
|
loading,
|
||||||
refreshUser,
|
refreshUser,
|
||||||
needsSetup: needsSetup === null ? true : needsSetup,
|
needsSetup: calculatedNeedsSetup,
|
||||||
checkSetupStatus,
|
checkSetupStatus,
|
||||||
updateUser,
|
updateUser,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user