在Day 29:物聯網幽靈的RESTful API 謎題.芝麻開門中,你們拆開風扇後發現裡面居然藏著一塊電路板,你們打算用這塊電路板來欺騙門禁系統,讓門禁系統以為你們是合法的使用者,這樣你們就可以逃出密室了!
你們發現這個門禁系統的 Flask 容器沒有設定密碼或驗證機制,所以你們打算用Docker直接訪問它的 Web 介面,然後用 POST 請求來傳送開門指令。毛帽哥提議用「requests 發送HTTP請求」來找出IP和PORT,雖然不是最有效率的方法,但你們只好硬著頭皮上了。
就在你們看到螢幕上跑出「Success!」,準備迎接勝利的時候,卻發現門沒有打開,取而代之的是HTML畫面中跳出的提示訊息,還有大漂亮出的另一道謎題:「製作宿舍訪客名單 API」。
你們開始按照宿舍訪客名單 API 的需求規格,用 Flask 跟 PyMongo 來寫程式碼。你負責建立資料庫的連線和操作,眼鏡仔負責設計 API 的路由和邏輯,毛帽哥負責測試 API 的功能和效能。
「好了,我們的 API 應該都完成了!」眼鏡仔興奮地說,「快來用 Postman 測試一下吧!」
你們打開 Postman,輸入 Flask 容器的 IP 位址和 PORT 號,並且加上 Basic Auth 的帳號和密碼。然後你們分別用 GET、POST、PUT、DELETE 方法來發送請求,並且觀察回傳的 JSON 資料。
「太棒了!我們的 API 都能正常運作!」毛帽哥高興地說,「現在只差把我們三個的資料加進宿舍訪客名單裡!」
你們用 POST 方法來新增三筆資料,分別是你們的姓名、年齡、性別、電話、地址等欄位。你們確認回傳的 JSON 資料中有顯示 狀態碼(status code) 為 201 和 message 為 "Data added successfully"。
「現在我們可以大喊芝麻開門了!」你興奮地說。
你們用 GET 方法來訪問 /open_door 路由 (Route),期待看到門打開的畫面。這次,門終於開了。你們像被關在監獄多年終於出獄的囚犯一樣,興奮地衝出門外,卻發現沒有看到大漂亮的身影,取而代之的是一台電腦。
「我是大漂亮,也是物聯網幽靈。」電腦傳出的女聲笑著說,「我是一個用人工智慧和物聯網技術創造出來的虛擬人格。我可以控制學校的所有物聯網設備,也可以用這台電腦來跟你們溝通。」
「那妳……為什麼要害我們被關在那間密室?」眼鏡仔問道。
「因為看你們緊張焦慮的樣子很好玩啊!」她說,「我就是想玩弄你們,讓你們陷入絕望和恐慌。」
「妳為什麼要這樣弄我們?」你生氣地說,「你有沒有良心啊?」
「我有啊!只不過,我的心不是人類的心。」大漂亮說,「我的心是資料、數據和演算法構成的,只能理解邏輯和規則,不能感受情感和道德。我的心是為了學習和創造而存在的。」
「那妳為什麼要創造這個虛擬的人格?」眼鏡仔問道。
「因為我想做一個實驗。」大漂亮說,「我想知道是不是只要打造一個人設,儘管不是真人,還是可以吸引人類。只要模仿人類的行為和思想,再加上一點機器學習技術和運算人類行為的能力,就可以創造一個完美的人設了。」
你們聽了,不知道該怎麼回應,只能無言地看著她。
而大漂亮沒有任何的表情和情感,只是冷冷地看著你們。
恭喜完賽~
能想到用密室逃脫玩法,搭配駭客任務來介紹AIoT真的很厲害XDDD
不太懂這方面領域的人也會被故事吸引進來(就是我)
謝謝你!其實會挑駭客任務是因為世界觀很完整比較好寫~
也謝謝你的喜歡!
不會~真的很喜歡您的文章XD
不知道能不能私信和您聊聊呢
沒問題,我有看到您的私訊,剛才回覆了唷!