2017-02-16 48 views
-1

好傢伙即時通訊新的這個論壇,以便IA有點困惑給予標題(和我很抱歉,如果這已經問過的地方,我只是不知道在哪裏可以找到它),我聽說返回字符串/文到mysql數據庫是不是很安全,所以我只是想把它變成數字,但我已經搜索穀倉,並找不到我在找什麼,例如我有文字:PHP文本數量或INT

「這是文本內引號「

我希望把它變成像數或東西:

「2421512152142152134」

但我從PHP得到了它的返回不是數字就應該是:(截圖)

You can edit this word to anything u like , just don't break stackoverflow rules ;)

我找不到任何方法來做到這一點,誰能告訴我做什麼方法?

我也希望它工作於所有文字像UTF-8UTF-7,或類似的東西,而不僅僅是上市文本。

只是一個說明,我討厭小數。

+0

爲什麼你將字符串轉換爲int? – Sona

+0

「我聽說將字符串/文本返回到mysql數據庫並不安全」不知道你聽到的是哪裏,但沒關係。但是你真的認爲通過將字符串轉換爲int將會更安全嗎?黑客可以簡單地將int重新設置爲一個字符串。安全性增加0,0。你所做的只是沒有任何意義。 – Twinfriends

+1

您需要閱讀一些關於如何將數據存儲到數據庫以及相關安全風險的基本教程。 SQL注入預防不是將字符串轉換爲數字,而是關於正確轉義字符串以防止有人直接從網站向您的數據庫發送SQL語句。 –

回答

1

我不知道爲什麼返回字符串什麼/文本到mysql數據庫是不是安全。也許如果你在那個字符串中有一些SQL,但是在這種情況下,你需要轉義你的字符串以防止它被執行。 如果你真的想出於安全原因改變你的字符串,我認爲一些加密/散列方法可以幫助你。

散列()實施例

echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.'); 

上例將輸出:

ec457d0a974c48d5685a7efa03d137dc8bbde7e3 
+0

謝謝!這就是我一直在尋找的東西(儘管它裏面有單詞,但我確實不在乎)!也mysql的轉義字符串使存儲密碼變得困難! – user6668201

+0

沒關係,我可以把它變成數字,有些作品 – user6668201

0

這不會工作,以在MySQL數據庫內數據整數字段的限制所致。它是在這裏解釋:https://dev.mysql.com/doc/refman/5.7/en/integer-types.html

總而言之一句話。如果您想將像這樣的字符串「2421512152142152134」解析爲整數值,則會失敗,因爲最大數量爲2147483647或4294967295(對於未定標整數)。

你可以試試BIGINT,但它是不是安全的,如果你長整型或數字。

+0

感謝有限制的事情,不知道它,但抱歉不能upvote由於downvote我收到。 – user6668201