2013-10-15 67 views
0

我創建了我的第一個微控制器設備,我希望它將數據推送到網站。基本上它收集數據,我想將它存儲在數據庫中。但有多個設備,我不希望設備能夠讀取其他設備上傳的數據。現在我想知道最安全的方法是什麼?如何使設備與遠程數據庫安全通信?

服務器運行Debian,我有完全訪問權限。該設備運行Debian以及我編碼在Python中。

這些都是我想出了想法:

  • 使設備填寫表格,網站
  • 上使設備連接到MySQL直接

那麼,什麼是最簡單的方法爲了做到這一點?填寫表單似乎對我來說最簡單,但發送POST數據真的是一個好習慣嗎?我如何處理身份驗證?

連接到Mysql似乎不好,因爲我並不想授予對整個表的訪問權限。但也許一個「只加 - 不讀」的限制是可行的。

+0

您已經擁有一個網站?如果你這樣做,它使用什麼技術? – alexvassel

+1

我會推薦一個更新的Web服務。有很多可以實現的安全方案。首先想到的是讓設備在調用Web服務時提供憑據 - 每次都要傳遞用戶名/密碼,或者使用用戶名/密碼登錄並獲取令牌以便在後續調用中使用(並且每隔幾分鐘)。如果設備必須讀取,那也是同樣的事情:它提供證書,證明它可以看到哪些數據。如果您對此不太瞭解,請嘗試先完成讀寫操作,然後再添加安全性。 –

+0

我想限制權限是一個整潔的KISS方式來做到這一點。如果您設法將設備的權限限制爲「INSERT」或「UPDATE」查詢,則可能會這樣做。 –

回答

0

也許你使用一些web框架

  1. 使用REST API到您的網站。大多數Web框架都有REST API擴展。
  2. 只允許PUT,POST許可,沒有得到

例如,我使用的Django + tastypie。 tastypie爲訪問django模型提供了rest API,並提供身份驗證和授權。 Django REST framework是另一個不錯的選擇