Ger*_*rry 8 javascript php ssl sni
我想知道是否有任何方法可以确定发出HTTP请求的浏览器是否支持SNI,而不是验证用户代理和猜测.
我会考虑服务器或客户端选项.
我想要做的是为指向同一PHP应用程序的多个域设置SSL证书.然后我会尝试查明发出请求的客户端是否支持SNI,如果是,则将其重定向到启用SSL的版本.
首先,我们知道当前支持SNI的浏览器:
Opera 8.0; MSIE 7.0(但仅适用于Windows Vista或更高版本); Firefox 2.0和其他使用Mozilla Platform的浏览器rv:1.8.1; Safari 3.2.1(Windows版本支持Vista或更高版本的SNI); Chrome(Windows版本也支持Vista或更高版本的SNI).
所以一个便宜的方法是确定浏览器,如果它是上述之一,它有SNI.
虽然这不是最佳实践(优先考虑特征检测),但似乎没有办法避免它,因为SNI检测需要SSL握手.因此,在SSL证书失败后执行某些操作为时已晚.
归档时间: |
|
查看次数: |
1577 次 |
最近记录: |