簡體   English   中英

將相同的數據庫用於客戶端哈希,鹽和設置是否會暴露客戶端哈希?

[英]Will using the same database for client hashes, salts, and settings expose client hashes?

如果我的Web服務器上有一個XML數據庫;

<Database>
    <Client sid="0123456789abcdefg" name="John Doe" email="johndoe@mail.com" hash="9876543210abcdefg" salt="abcdefg9876543210">
        <Setting>A Setting</Setting>
        <Setting>Another Setting</Setting>
    </Client>
    ...
</Database>

然后,我用哈希和鹽登錄,檢索SID,然后通過PHP重定向到主頁;

header("Location: home.html?sid=" . $sid);

然后通過JavaScript在位置欄中使用SID從同一數據庫中檢索用戶設置,我是否會公開客戶的哈希?

是否有更好的方法或更標准的方法來設置和獲取網絡上的用戶設置?

PS:除非您有很好的理由,否則我確實非常不想使用SQL。 我更喜歡能夠讀取我的數據庫,並且我喜歡XML的真實性和多功能性。

編輯:經過更多研究,我了解到PHP支持存儲SESSION []變量的系統。 這對我來說是完美的,因為實際上我正在使用會話!

W3C說:

“ PHP會話變量用於存儲有關用戶會話的信息或更改用戶會話的設置。會話變量保存有關一個用戶的信息,並且可用於一個應用程序中的所有頁面。”

比在地址欄中顯示各種數據要好得多。 =)

只要您的數據庫文件無法通過HTTP(即被.htaccess或等效文件鎖定)和其他協議(即,不位於匿名FTP可以訪問的目錄中)訪問,唯一的風險就是(無意間)讓哈希和鹽分被收集一堆其他與用戶相關的數據並發送給您的客戶。

如果您有與SQL *選擇器等效的請求,則可能會有問題。 您可能希望將關鍵數據放入另一個數據庫文件中,並將訪問封裝在專用於用戶注冊和登錄的界面中,以確保沒有其他代碼能夠(甚至是錯誤地)從您的主代碼中獲取它們。 D B。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM