3
當使用wss://
時,URL本身是否也被加密?例如,假設你有一個接受的網絡套接字連接的簡單西納特拉Web應用程序:Web Socket安全URL加密
class App < Sinatra::Base
get "/ws/:api_key/room/:id" do |api_key, id|
user = User.find_by(api_key: api_key)
room = Room.find(id)
if RoomAuthenticator.new(room).authorized?(user)
request.websocket do |ws|
ws.onopen { publish(room, "#{user.name} connected.") }
end
else
401
end
end
end
然後從客戶端/瀏覽器在JavaScript:
new WebSocket("wss://" + window.location.host + "/ws/" + user.api_key + "/room/" + room.id);
是在URL中user.api_key
加密或爲它容易受到攻擊?
感謝您的澄清。我不確定通過'wss:// URL'傳遞'api_key'是否可以安全地傳輸這些信息。似乎不可能通過網絡套接字使用查詢參數(例如'?api_key = VALUE')或標題(例如'x-api-key:VALUE')。 –