日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用delphi 开发多层应用(十)安全访问服务器

發布時間:2023/12/1 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用delphi 开发多层应用(十)安全访问服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????? 前面講了如何建立和訪問服務器,但是前面建的服務器都沒有安全控制,這里有很大的安全問題,第一是任何人做一個客戶端都可以都可以訪問

服務器。第二是數據在網絡傳輸過程中都是明碼的,沒有加密,使用網絡偵聽器就可以檢測到傳輸的內容。這是一個標準的系統不允許的,今天就

講一下如何安全的訪問服務器.

???? 首先我們需要使用加密來保證數據在網絡上傳輸的安全,首先在服務器端我們加一個TkbmMWDCP2Crypt.這個是kbmMW 對DCP2Crypt的封裝,

DCP2Crypt 是一個用pascal 實現的各種加密及校驗的開源庫。kbmMW 使用其來實現網絡傳輸過程中的數據加密.

并在TkbmMWTCPIPIndyServerTransport 里面設置crypt 為kbmMWDCP2Crypt1.

另外,我們需要對客戶端的進行認證,這里是通過用戶名及密碼來實現的.在服務器的認證事件里面我們加入以下代碼:

procedure TForm1.kbmMWServer1Authenticate(Sender: TObject;
ClientIdent: TkbmMWClientIdentity; var Perm: TkbmMWAccessPermissions);
begin
if ((clientIdent.Username='xalion') and (clientIdent.password='123456')) then //這里可以通過使用權限庫來對客戶端進行認證
begin
Perm:=[mwapRead,mwapWrite,mwapDelete,mwapExecute,mwapInternalExecute] //對應著服務器的不同訪問權限,在這里可以再細分權限
end;
end;

同時要設置 kbmMWServer 的EarlyAuthentication 為True.

服務器端完成,可以編譯并運行了.

?

現在來看客戶端,同樣需要先增加一個TkbmMWDCP2Crypt,并設置kbmMWTCPIndyClientTransport 的crypt

為kbmMWSCP2crypt.

并設置kbmMWSimpleClinet 的用戶名和密碼.

編譯和運行,并訪問服務器.

這樣就實現了安全訪問kbmMW 服務器.

當然了由于每個kbmMW服務器會有很多個不同的服務, 可能需要針對不同的服務進行不同的認證,

這個就要在每個服務里面進行進一步的認證了。這里就不再羅嗦了.

轉載于:https://www.cnblogs.com/xalion/archive/2012/02/26/2368452.html

總結

以上是生活随笔為你收集整理的使用delphi 开发多层应用(十)安全访问服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。