2
我已經在Vaadin中設置了cookie,並試圖從另一個運行在不同服務器上的應用程序獲取它,但是我無法獲得該cookie在Vaadin中的設置?如何禁用Vaadin中的HttpOnly cookie?
我們需要禁用httpOnly cookie。
任何人都可以幫我「如何解決這個問題?
我已經在Vaadin中設置了cookie,並試圖從另一個運行在不同服務器上的應用程序獲取它,但是我無法獲得該cookie在Vaadin中的設置?如何禁用Vaadin中的HttpOnly cookie?
我們需要禁用httpOnly cookie。
任何人都可以幫我「如何解決這個問題?
設置在標頭Set-Cookie
中的cookie。通過刪除HttpOnly
URLConnection urlConnection = new URL("url-of-your-web-app-here").openConnection();
List<String> cookiesList = urlConnection.getHeaderFields().get("Set-Cookie");
你可以手動刪除標誌,:爲了得到它,你可以使用下面的代碼
response.setHeader("Set-Cookie", "name=value; HttpOnly");
如果你在一個的Servlet 3.0或較新的環境中工作,配置您的web.xml如下:
<session-config>
<cookie-config>
<http-only>false</http-only>
</cookie-config>
</session-config>
注意。 HttpOnly
標誌是用於防止利用訪問會話cookie的附加標誌(跨站點腳本攻擊)。
另請參見:
感謝阿列克謝,有什麼替代方案來解決使用Java規格,因爲這個問題。我已經改變了web.xml配置,但沒有工作。 –
檢查響應標題,可能是您在那裏設置cookie。我也可以推薦你檢查'conf/context.xml'中禁用'httpOnly','useHttpOnly ='true''不應該在' ... ' –
中定義'useHttpOnly =「false」' 'context.xml'文件。'useHttpOnly'標誌默認設置爲'「true」'。 ([在tomcat 7中](http://tomcat.apache.org/tomcat-7.0-doc/config/context.html))。 –