網絡安全傳輸系統總體設計:linux
1.基本傳輸子系統+OpenSLL加密傳輸 (客戶端 <->服務器端)sql
2.線性池的優化設計(並行服務器)數據庫
3.基於sqlite帳號管理子系統 (驗證客戶端)(1.數據文件置於客戶端目錄下;2,客戶端加入數據驗證程序(利用數據文件中查找))安全
對於數據庫系統:服務器
訪問數據庫應用 -> 管理數據庫系統 -> 數據庫存儲 (自上而下)網絡
數據庫中數據以表的形式而存在,當處理大批量數據時,更體現其高效性與安全性!(結構化查詢語言SQL,用於訪問數據庫中的數據)函數
建立表 | creat table stu name varchar(10),number small(int) 表名 變量-類型 |
向表中插入數據 | insert into stu values('HJH',1) 表名 name-number |
表中查詢數據 | select * form stu |
表中刪除數據 | delete form stu where 範圍 |
-----------------------------------------------------------------------------------------優化
數據庫移植、建立數據文件加密
解壓運行"./configuer --host=arm-linux- --prefix=${PWD}/_install"配置命令 -> 生成Makefile文件-> make、make install -> 將產生的庫函數文件所有複製與/rootfs/lib/目錄下,並運行產生test_db執行文件;spa
#test_db sql.db "create table stu (name varchar(10),number small(int) )";建立sql_db數據庫文件
#test_db sql.db "insert into stu values ( 'david',1 )"; 向數據可中插入數據
#test_db sql.db "insert into stu values ( 'HJH',1 )";
#test_db sql.db "insert into stu values ( 'CC',1 )";
數據庫應用
數據庫帳號管理子系統,主要用於管理客戶端帳號,非容許客戶禁止登錄服務器。
-> 1.建立數據庫文件sql.db(存儲可登陸的用戶信息),存儲於客戶端目錄下;
->2.客戶端程序內加入登錄驗證程序,查詢sql.db信息表中是否匹配,錯誤即exit(0)當即退出。
main()主函數下: if(login()!=0) { printf("wrong username or password!\n"); exit(0); } int login() //登錄驗證函數,成功返回0
{ char username[10]; char passwd[10]; sqlite3 *db; char sql[50]; int success; //1.通知輸入用戶名和密碼
printf("User name: "); scanf("%s",username); printf("Password: "); scanf("%s",passwd); //2.根據用戶名,從數據庫提取正確的密碼
sprintf(sql, "select passwd from tb0 where name='%s';",username); sqlite3_open("sql.db", &db); /*a.打開數據庫*/ sqlite3_exec(db, sql, callback, 0, NULL); /*b.執行sql語言*/ sqlite3_close(db); /*c.關閉數據庫*/
//3.比較用戶輸入的密碼和數據庫提取出的密碼,以決定是否登陸成功
success = strcmp(passwd,passwd_d); //成功返回0
return success; }
----------------------------------------------------------------
網絡安全傳輸系統
1)經過對基礎傳輸子系統的程序,實現客戶端上傳或下載服務器程序。在此基礎上加入OpenSSL加密機制加強網絡傳輸的安全性; 2)應用線性池技術優化服務器,實現多客戶端同時訪問並行執行任務。 3)同時爲了提升對客戶端帳號的管理,加入數據庫帳號管理子系統,對欲登陸服務器的客戶端進行帳號驗證,非數據庫容許帳號禁止登錄。 實現網絡安全的環境下有序進行文件傳輸操做。