簡體   English   中英

PHP中的編碼和解碼算法

[英]encoding and decoding algorithms in php

從安全角度來看,在get方法中顯示數據庫值是一種不好的做法嗎? 例如:-'http://example.com/user/id/10',其中10從數據庫中獲取值。

請任何人向我建議一種標准的編碼和解碼算法,該算法需要兩個參數(用於編碼和解碼),以便一個可以作為變量存儲在php文件(或數據庫)中,另一個可以作為要編碼的字符串或解碼。

先感謝您

我會回答您問題的第一部分:

從安全角度來看,在get方法中顯示數據庫值是一種不好的做法嗎? 例如:-'http://example.com/user/id/10',其中10從數據庫中獲取值。

並非如此,這取決於“頁面”對id / 10的作用。 如果僅顯示用戶信息(配置文件),會有什么危害? 但是,如果您想屏蔽自己的URL,那完全取決於您。 我已經看到使用加密進行屏蔽,但是我很好奇您為什么認為URL會“有害”? 您是否只是不想讓用戶看到id = 10? 我將重點放在使該頁面上的php / sql查詢更安全,而不是增加額外的開銷來加密無害的內容(從我的角度來看)。

編輯:

為簡單起見,您可以利用php函數base64_encode並解碼: http : //us.php.net/manual/en/function.base64-encode.php

那應該給你足夠的。 但是我真的會想到為什么要首先將其隱藏,通常“易於閱讀”的URL總是有好處的,尤其是在搜索引擎優化方面。

唯一的風險是,如果您沒有正確設置網站權限安全性。 按數據庫ID匹配數據很好,這很容易理解。 如果有人想抓取您的所有數據,他們要做的就是增加url。

如果您不希望人們能夠訪問某些“ id”,只需確保他們具有正確的登錄憑據即可查看該頁面。

現在,如果您想輕松地進行加密/解密,請研究使用md5散列: http : //php.net/manual/zh/function.md5.php

暫無
暫無

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

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