1. 程式人生 > >SQL2008禁止某些IP訪問, 記錄外網訪問的觸發器處理機制

SQL2008禁止某些IP訪問, 記錄外網訪問的觸發器處理機制

USE [master]
GO

--禁止訪問的IP
CREATE TABLE [dbo].[ForbiddenIP](
[IP] [nvarchar](15) NOT NULL,
[說明] [nvarchar](50) NULL,
[設定時間] [datetime] NULL,
 CONSTRAINT [PK_ForbiddenIP] PRIMARY KEY CLUSTERED 
(
[IP] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


GO

ALTER TABLE [dbo].[ForbiddenIP] ADD  CONSTRAINT [DF_ForbiddenIP_設定時間]  DEFAULT (getdate()) FOR [設定時間]
GO

--外網登陸記錄表
CREATE TABLE [dbo].[loginlog](
[loginame] [varchar](30) NULL,
[ipaddress] [varchar](40) NULL,
[spid] [int] NULL,
[hostname] [varchar](30) NULL,
[logtime] [datetime] NULL
) ON [PRIMARY]


GO

--訪問記錄觸發器

CREATE trigger [tr_login] on all server WITH EXECUTE AS 'sa'  

for logon   
as  
 declare @loginame  varchar(30),  
         @ipaddress varchar(30),  
         @spid      int,  
         @hostname  varchar(30);  
 select @loginame = eventdata().value('(/EVENT_INSTANCE/LoginName)[1]', 'sysname'),  
        @ipaddress = eventdata().value('(/EVENT_INSTANCE/ClientHost)[1]', 'sysname'),  
        @spid = eventdata().value('(/EVENT_INSTANCE/SPID)[1]', 'int');  
 if  ((substring(@ipaddress,1,7)<>'192.168') and (@ipaddress not in ('127.0.0.1', 'servername')))  
 begin  
   select @hostname = [host_name] from sys.dm_exec_sessions where session_id = @spid;
   begin try  
     insert into master.dbo.loginlog(loginame,ipaddress,spid,hostname, logtime)  
     values( @loginame,@ipaddress,@spid,@hostname, getdate() );  
   end try
   begin catch
     print '寫入日誌錯誤' 
   end catch
   
 end  

GO

--訪問IP限制觸發器

CREATE TRIGGER [tr_LoginCheck]
ON ALL SERVER
FOR LOGON
AS
declare @IP varchar(15);
set @ip=EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'varchar(15)');
IF Exists (select * from ForbiddenIP where [email protected])
    ROLLBACK TRAN


GO

相關推薦

SQL2008禁止某些IP訪問, 記錄訪問觸發器處理機制

USE [master] GO --禁止訪問的IP CREATE TABLE [dbo].[ForbiddenIP]([IP] [nvarchar](15) NOT NULL,[說明] [nvarchar](50) NULL,[設定時間] [datetime] NULL,

虛擬機器 ubuntu 16.04 修改成靜態ip,以便訪問

------一、以下用命令列修改的方式(部分機器成功,部分失敗了)------- (1)修改配置檔案: sudo vim /etc/network/interfaces 原來的內容是: # interfaces(5) file used by ifup(8) and ifd

阿里雲無法從訪問某埠-埠被禁止訪問

一、新購買的阿里雲伺服器,配置好後,localhost是可以正常訪問專案的,但是無法從外網訪問,這就說明埠被禁止訪問了。解決此問題的方法如下: 1、登入阿里雲的管理控制檯,找到例項: 2、在例項右邊的操作選項裡,選擇“更多”,選擇“安全組配置”: 3、進入“安全組配置”後,點

訪問 虛擬機器下的web伺服器 設定主機埠與虛擬機器ip和埠的對映

除了上面一篇博文寫到的問題之外,我更想嘗試的是利用本機的ip+port來訪問虛擬機器上的web伺服器,因為這樣的話,我就能夠將我的web伺服器部署成為一個能讓外網訪問的伺服器了,首先說下我的環境: 主機:系統win7,ip地址172.18.186.210 虛擬機器版本是

通過設定路由器DMZ主機ip,卻還是沒法通過訪問

幾天前想在電腦虛擬機器上的linux中搭建的簡單的伺服器,然後通過手機(流量資料模式下)瀏覽器訪問。先把虛擬機器上的Linux設為橋接模式,然後登陸小米路由器設定DMZ的ip為linux的虛擬ip,然後在linux中執行一個已經寫好的程式a.out,該程式阻塞等待連線,當有連

花生殼實現SVN客戶端遠端訪問某區域網內SVN伺服器(內ip地址對映地址)

最近在做一個軟體專案的管理工作,由於專案需求提供和開發分隔兩地,需要建立遠端的版本控制。學校實驗室是通過一個路由器分配下來的固定IP,建立的SVN Server B只能被本地SVN客戶端通過本地地址訪問,不能被遠端SVN客戶端直接訪問。所以需要通過一種手段將SVN伺服器端的

tomcat-禁止某些IP訪問的方法

JAVA主機用的是tomcat來處理資料,所以不支援以前apche使用的.htacess方式,一般有兩種禁止方法可以選擇,一是在server.xml檔案裡面禁止,或者是修改程式程式碼。 1.禁止IP,在tomcat_home/conf/server.xml中的<h

iptables 禁止訪問

4種狀態 new established related invalid NEW ( a連線b 在b沒有回覆前 都被稱為NEW包) ESTABLISHED ( a和b 連線成功 只有一個連線時 稱為ESTABLISHED狀態 ) a和b一旦連線看到兩個

IP對映訪問

一、前言 在公司做開發,臺式電腦主機連線的內網,這時測試就無法讓外網訪問到內網(自己的主機),在一定程度上不方便開發測試環節。So,在網上搜了搜關鍵字“內網穿透”啥的,比較多的是花生殼,ngrok等等,今天主要講述傻瓜式小白操作一一JNat 二、入手 1.先去官網下載該

tomcat manager 禁止訪問 只容許內訪問

完成 net web app ica def allow 一個 html resource 參考:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html A default Tomcat installation

Wamp2.5(Apache2.4.9)訪問403(Forbidden)錯誤

his 403錯誤 require director off nat from 原因 spa 把wamp配置到Azure上之後,倒騰好久都沒有解決403錯誤問題,網上百度了很多資料,差不多都是這樣修改的: 1、在C:wamp/bin/apache/apache2.4.9/c

簡單物聯網:訪問路由器下樹莓派Flask服務器

分配 amp con 樹莓派 轉發規則 添加 局域網 輸入 pytho 最近做一個小東西,大概過程就是想在教室,宿舍控制實驗室的一些設備。 已經在樹莓上搭了一個輕量的flask服務器(在樹莓派下搭flask在其他隨筆有說明),在實驗室的路由器下,任何設備都是可以訪問的;但是

騰訊雲 ubuntuservermysql安裝和訪問

時間 with fonts .net start -1 read 每次 mona 1 騰訊雲 購買ubuntu 默認賬戶是ubuntu(因為winscp 使用ubuntu沒有權限寫文件) 因為騰訊雲主機ubuntu系統默認username為ubuntu,不喜歡每次

訪問XAMPP失敗 解決方式 XAMPP1.8.3

php tap pad log 版本 xtra ble eba 方式 xampp 訪問出現New XAMPP security concept New XAMPP security concept: Access to the requested

Django訪問

django趁著優惠在阿裏雲上購買了一個服務器,最近學習django,所以按照例子部署了一個項目上去,結果在本地瀏覽器不能訪問,經過摸索,關閉iptables和SELinux都不行,結果發現是在啟動的時候輸入的這個:python manage.py runserver,這個命令啟動起來只能在本地訪問,輸入這個

Exchange 2016訪問

mail -128 身份驗證 tro sdn 開啟 服務 管理 部署 Exchange Server 2016默認部署好後不需要任何配置就可以進行內部收發郵件,但要進行外部訪問和收發外網郵件,需要進行一系列的配置,本篇博文來介紹外網訪問和證書配置: 一、外部DNS配

ubuntu安裝mysql與配置訪問

安裝mysql 數據 .cn install 安裝數據庫 joseph html mysq www. linux上安裝數據庫比windows簡單很多,一條命令搞定 sudo apt-get install mysql-server 難的是配置外網訪問與權限設置,我是按照一篇

elasticsearch訪問設置

技術 目的 空格 png map virt incr memory yml 默認情況下安裝elasticsearch之後是無法進行外網訪問的,可以通過設置來完成這一目的 1、更改配置文件 [***@elk01 ~]$ vim elk/config/elasticsearc

Apache 2.4.27訪問403(Forbidden)錯誤

option www conf vhosts rom orb symlink cal 4.2 httpd.conf <Directory /> AllowOverride none #Require all denied 註釋這句 Allow

rabbitmq的萬能安裝和訪問(NC版)

comm art 現在 測試環境 start tab one yum 數據庫 先去這個http://www.rabbitmq.com/releases/下載erlang環境和rpm(erlang的盡量高點,rabbitmq版本差不多就可以了,) erlang-19.0.4-