sevyc64
c'est gentil d'essayer de m'aider
Comme je l'ai dit juste au dessus, je suis obligé de le laisser exposer sur l'extérieur.
J'ai trouvé ce code sur le net mais il plante sur l'instruction select.
11/27/2012 18:30:04,spid55,Inconnu,Erreur*: 229<c/> Gravité*: 14<c/> État*: 5.
11/27/2012 18:30:04,spid55,Inconnu,L'autorisation SELECT a été refusée sur l'objet 'IPBLock'<c/> base de données 'master'<c/> schéma 'dbo'.
Pour la table
CREATE TABLE master.dbo.IPBLock (ipaddress VARCHAR(15))
Pour le trigger
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| CREATE TRIGGER block_ipaddress
ON ALL SERVER
FOR LOGON
AS
BEGIN
DECLARE @capturedip NVARCHAR(15);
SET @capturedip = (SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'));
IF EXISTS(SELECT ipaddress FROM master.dbo.IPBLock WHERE ipaddress = @capturedip)
BEGIN
Print 'Your IP Address is blocked, Contact Administrator'
ROLLBACK
END
ELSE
BEGIN
DECLARE @IPRange VARCHAR(15)
SELECT @IPRange= SUBSTRING(@capturedip,1,LEN(@capturedip)-CHARINDEX('.',REVERSE(@capturedip)))+'.*'
IF EXISTS(SELECT ipaddress FROM master.dbo.IPBLock WHERE ipaddress = @IPRange)
BEGIN
Print 'Your IP Address Range is blocked, Contact Administrator'
ROLLBACK
END
END
END
GO |
Quelqu'un aurait il une idée d'ou provient l'erreur?
En fait tout le monde est refusé maintenant, c'est plus sécuritaire, mais moins fonctionnel
Partager