如何将HTTP站点转换成HTTPS,及后续问题 如何解决将HTTP站点转换成HTTPS,及后续问题?

\u5982\u4f55\u5c06HTTP\u7ad9\u70b9\u8f6c\u6362\u6210HTTPS\uff0c\u53ca\u540e\u7eed\u95ee\u9898

1\u3001HTTPS\u7f51\u7ad9\u9700\u8981\u6dd8\u5b9d\u4e00\u4e2aSSL\u8bc1\u4e66\u3002
2\u3001\u72ec\u7acb\u670d\u52a1\u5668\u6216\u4e91\u670d\u52a1\u5668\u624d\u652f\u6301\uff0c\u4e0d\u8fc7\u6709\u7684\u865a\u62df\u4e3b\u673a\u4e5f\u652f\u6301SSL\u3002
3\u3001\u6839\u636e\u4e0d\u540c\u7684\u670d\u52a1\u5668\u73af\u5883\u6309\u7167\u7b7e\u53d1\u673a\u6784\u8981\u6c42\u5b89\u88c5\u8bc1\u4e66\u3002
4\u3001\u7f51\u9875\u6e90\u7801\u9700\u8981\u67e5\u770b\u4e00\u4e0b\u662f\u5426\u8c03\u7528\u4e86\u666e\u901aHTTP\u534f\u8bae\uff0c\u56e0\u4e3a\u5728HTTPS\u52a0\u5bc6\u7f51\u7ad9\u60c5\u51b5\u4e0b\u662f\u65e0\u6cd5\u8c03\u7528\u666e\u901aHTTP\u534f\u8bae\u7684\uff0c\u4ee5\u4e0b\u662f\u5177\u4f53\u4ee3\u7801\u8bf4\u660e\u6559\u7a0b\u3002
\u4f7f\u7528\u76f8\u5bf9Url\u65e0\u7f1d\u5207\u6362HTTP-HTTPS\uff1ahttps://www.gworg.com/ssl/334.html
https \u9875\u9762\u4e2d\u5f15\u5165 http \u8d44\u6e90\u7684\u89e3\u51b3\u65b9\u5f0f\uff1ahttps://www.gworg.com/ssl/191.html

\u4f7f\u7528\u7b2c\u4e09\u65b9\u63d2\u4ef6\uff0c\u4ee5\u53ca\u540e\u7eed\u95ee\u9898\u7684\u7f51\u7edc\u8fde\u63a5\u662f\u91c7\u7528\u76f8\u5bf9\u8def\u5f84\u8fd8\u662f\u7edd\u5bf9\u8def\u5f84\u3002
\u5177\u4f53\u95ee\u9898\u5982\u4e0b\uff1a
1\u3001\u5728\u6d4b\u8bd5\u9879\u76ee\u4e2d\u7684admin \u6587\u4ef6\u5939\uff0c\u9700\u8981\u767b\u5f55\u4e4b\u540e\uff0c\u624d\u80fd\u8bbf\u95ee\u3002admin\u91cc\u9762\u7684 login.aspx \u53ef\u4ee5\u8bbf\u95ee\u3002\u6574\u4e2aadmin\u6587\u4ef6\u5939\u90fd\u9700\u8981https\u8bbf\u95ee\u3002
2\u3001\u5728\u9879\u76ee\u4e0a\uff0c\u6dfb\u52a0\u5f15\u7528 SecuritySwitch.dll \uff0c\u5e76\u4e14\u6dfb\u52a0\u667a\u80fd\u63d0\u793a\u3002
3\u3001\u5728web.config\u91cc\u9762\u6dfb\u52a0\u8bbe\u7f6e \uff0c\u6839\u636eIIS\u7684\u4e0d\u540c\uff0c\u8fd8\u5206\u4e3a IIS6+ IIS7.X\uff08\u7ecf\u5178\u6a21\u5f0f\uff09\u4ee5\u53ca IIS7(\u96c6\u6210\u6a21\u5f0f) \u7684\u4e0d\u540c\u7684\u914d\u7f6e\uff0c\u4e00\u822c\u6309\u7167IIS6+IIS7.X\u7684(\u7ecf\u5178\u6a21\u5f0f)\u6765\u914d\u7f6e\u7684\u3002
4\u3001\u7531\u4e8e\u7528\u5230\u4e86\u5185\u7f6e\u7968\u636e\u8ba4\u8bc1\uff0c\u6240\u4ee5\u8981\u5728 Global.asax\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801\uff1aprotected void Application_AuthenticateRequest(object SENDER, EventArgs e){if (HttpContext.Current.User != null)}

https及https的本地测试环境搭建。asp.net结合https的代码实现http网站转换成https网站,以及之后遇到的问题等。

一:什么是https

SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时SSL安全机制是依靠数字证书来实现的。

SSL基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用SSL安全机制的通信过程如下:用户与IIS
服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密
钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有SSL允许的用户才能与IIS服务器进行通信。

提示:SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://网站域名”。

二:https的本地测试环境搭建

1:win7/windows server 2008R2中 IIS7/IIS7.5 搭配https本地测试环境

2:windows server 2003中IIS6.0 搭配https本地测试环境

三:asp.net 结合 https的代码实现

https是由IIS,浏览器来实现的传输层加密,不需要特意的编码。。。平时怎么在asp.net里面编写代码,就怎么写。

很可能要问,为什么我的站点使用了https之后,用firebug之类的软件查看值提交的时候,还是会显示明文呢?例如,博客园的登陆界面提交。

http://passport.cnblogs.com/login.aspx

为什么这里还是能看到明文的用户名和密码呢?

原因是因为:https(ssl)的加密是发生在应用层与传输层之间,所以,在传输层看到的数据才是经过加密的,而我们捕捉到的http post的,是应用层的,是还没经过加密的数据。

加密的数据只有客户端和服务器端才能得到明文 客户端到服务端的通信是安全的

支付宝也是https的,但是他的同时也增加了安全控件来保护密码, 以前认为这个只是用来防键盘监听的,其实,看下面http post截获的密码:这个安全控件把给request的密码也先加了密,紧接着https再加次密,果然是和钱打交道的,安全级别高多了:)

四:http网站转换成https网站之后遇到的问题

整站https还是个别的页面采用https?网站的连接是使用相对路径?还是绝对路径?

如果是整站都是https,那么会显得网页有些慢,如果是个别页面采用https,那么如何保证从https转换到http的时候的url的准确性呢?

比如我们用http的时候,网站的头部底部都是用的相对路径,假如你的页面是 http://aa/index.aspx 你跳转到 https://aa/login.aspx 这里怎么来跳转?只能把超链接写死

登陆 但是这样的话,你跳转过去之后的页面 ,所有的相对路径都变成了https开头了,这样很影响网站的效率。

虽然使用绝对地址可以解决,但是那样显然不好移植。

下面就是使用第三方的组件,来解决上面的这个问题

步骤

先下载dll文件 http://code.google.com/p/securityswitch/downloads/list 我选择的是 SecuritySwitch v4.2.0.0 - Binary.zip这个版本

1: 我们来看看测试项目

admin 文件夹,需要登录之后,才能访问。admin里面的 login.aspx 可以访问。整个admin文件夹都需要https访问:

contact.aspx 需要https 访问:

default.aspx 和 view.aspx 采用 http 访问:

链接我们都采用相对路径,并没有写死成 http://www.xx.com/a.aspx 或者是 https://www.xx.com/a.aspx。

下面我们开始用SecuritySwith来实现上面的https和http访问的规则。

2:在项目上,添加引用 SecuritySwitch.dll ,并且添加智能提示。

这样,只能提示就有了。

3:然后我们在web.config里面添加设置 。根据IIS的不同,还分为 IIS6+ IIS7.X(经典模式) 以及 IIS7(集成模式) 的不同的配置,这里我们是按照IIS6+IIS7.X的(经典模式)来配置的。

只看看里面的 SSL配置即可:

<?xml version="1.0"?>
<configuration>
<!--SSL配置1开始-->
<configSections>
<section name="securitySwitch" type="SecuritySwitch.Configuration.Settings, SecuritySwitch" />
</configSections>
<securitySwitch baseInsecureUri="http://webjoeyssl"
baseSecureUri="https://webjoeyssl" xmlns="http://SecuritySwitch-v4.xsd"
mode="On">
<!--如果你的http和https仅仅只有一个s的区别,那么这里的base的2个url可以不写,那为什么还要搞这2个url呢?因为比如
你的 baseInsecureUri (基本不安全网址) 是 http://www.qq.com
而你的 baseSecureUri (基本安全网址) 是 https://safe.qq.com
然后这个时候你访问一个需要https的页面,假如是 login.aspx?return=joey
假如你是通过http://www.qq.com/login.aspx?return=joey访问的,那么这个
页面会跳转到http://safe.qq.com/login.aspx?return=joey
-->
<paths>
<add path="~/contact.aspx"/>
<add path="~/admin/login.aspx"/>
<add path="~/admin" />
<!--这里的admin因为不仅是 admin 文件夹,而且还包含类似的 adminNews.aspx adminQQ.aspx 页面"-->
<!--但是如果是 ~/admin/ 就是专门指admin文件夹-->
</paths>
</securitySwitch>
<!--SSL配置1结束—>
<appSettings />
<system.web>
<compilation debug="true">
</compilation>
<!-- 内置票据认证 start-->
<authentication mode="Forms">
<forms name="mycook" loginUrl="admin/login.aspx" protection="All" path="/" />
</authentication>
<!--SSL配置2 如果是 IIS <= 6.x, IIS 7.x + 经典模式-->
<httpModules>
<add name="SecuritySwitch" type="SecuritySwitch.SecuritySwitchModule, SecuritySwitch" />
</httpModules>
<!--SSL配置2结束-->
</system.web>
<!--SSL配置2 如果是IIS7.X + 集成模式-->
<!--<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
--><!-- for IIS 7.x + 集成模式 --><!--
<add name="SecuritySwitch" type="SecuritySwitch.SecuritySwitchModule, SecuritySwitch" />
</modules>
</system.webServer>-->
<!--如果是IIS7.X+集成模式 SSL配置2 结束—>
</configuration>

4: 由于用到了内置票据认证,所以要在 Global.asax添加以下代码:

protected void Application_AuthenticateRequest(object SENDER, EventArgs e)
{
if (HttpContext.Current.User != null)
{
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity;
FormsAuthenticationTicket tiecket = id.Ticket;
string userData = tiecket.UserData;
string[] roles = userData.Split(',');
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id, roles);
}
}
}
}

5: 后台登陆界面 admin/login.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="web.admin.login" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
用户名:<asp:TextBox ID="txtUser" runat="server"></asp:TextBox><br />
密码:<asp:TextBox ID="txtPass" runat="server"></asp:TextBox><br />
记住用户名:<asp:CheckBox ID="chkUsername" runat="server" Checked="true"/>
<br />
<asp:Literal ID="litResult" runat="server"></asp:Literal>
<br />
<asp:Button ID="btnSubmit" runat="server" Text="提交" onclick="btnSubmit_Click" />
</form>
</body>
</html>

后台登陆界面 cs admin/login.aspx.cs:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
namespace web.admin
{
public partial class login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
string username = txtUser.Text;
string pass = txtPass.Text;
bool ischeck=chkUsername.Checked;
if (username=="admin" && pass=="admin")
{
SaveLogin(username, ischeck);
}
}
private void SaveLogin(string username, bool ischeck)
{
HttpCookie cook;
string strReturnURL;
string roles = "admin";//将用户的usernameid,保存到cookies,身份是 admin 身份
//要引用 using System.Web.Security;
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, username, DateTime.Now, DateTime.Now.AddMinutes(30), ischeck, roles);
cook = new HttpCookie("mycook");//对应webconfig里面的 验证里面的 forms name="mycook"
cook.Value = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(cook);
strReturnURL = Request.Params["ReturnUrl"];
if (strReturnURL != null)
{
Response.Redirect(strReturnURL);
}
else
{
Response.Redirect("default.aspx");
}
}
}
}

站点从HTTP转换成HTTPS需要申请SSL证书,具体的申请流程如下:
第一步,生成并提交CSR(证书签署请求)文件
CSR文件一般都可以通过在线生成(或服务器上生成),申请人在制作的同时系统会产生两个秘钥,公钥CSR和密钥KEY。选择了SSL证书申请之后,提交订单并将制作生成的CSR文件一起提交到证书所在的CA颁发机构。
第二步,CA机构进行验证
CA机构对提交的SSL证书申请有两种验证方式:
第一种是域名认证。系统自动会发送验证邮件到域名的管理员邮箱(这个邮箱是通过WHOIS信息查询到的域名联系人邮箱)。管理员在收到邮件之后,确认无误后点击我确认完成邮件验证。所有型号的SSL证书都必须进行域名认证。
第二种是企业相关信息认证。对于SSL证书申请的是OV SSL证书或者EV SSL证书的企业来说,除了域名认证,还得进行人工核实企业相关资料和信息,确保企业的真实性。
第三步,CA机构颁发证书
由于SSL证书申请的型号不同,所验证的材料和方式有些区别,所以颁发时间也是不同的。
如果申请的是DV SSL证书最快10分钟左右就能颁发。如果申请的是OV SSL证书或者EV SSL证书,一般3-7个工作日就能颁发。



  • 鎯崇煡閬: 娉夊窞甯 浠庢按澶撮晣鍒板旱涓鎬庝箞鍧愬叕浜
    绛旓細浣犲ソ锛 浠庡崡瀹夋按澶撮晣鍒版檵姹熷競闄堝煭闀囧旱涓婃潙锛屽缓璁箻杞﹁矾绾垮涓嬶細1. 鍦ㄥ崡瀹夋按澶撮晣鎼線鏅嬫睙"SM骞垮満"鎴栬"闃冲厜骞垮満"鐨勫杩愮彮杞︼紝寰堝杞︼紝鍒拌揪鏅嬫睙SM骞垮満涓嬭溅銆2. 鍦ㄦ檵姹烻M骞垮満"涔樺潗K1璺叕浜よ溅锛屽埌杈锯滃旱涓娾濆叕浜よ溅绔欑偣涓嬭溅灏卞埌浜嗐傛檵姹烱1璺叕浜よ溅閫旂粡锛氬ぇ甯冩灄 - 鐏垫按琛 - 鐏垫簮娲綜HU鎵 - 鏋楀彛 - 鍐...
  • htt://124.117.235.200.8021/REG
    绛旓細鍙兘浣犳兂杈撳叆鐨勬槸锛http://124.117.235.200.8021/REG 杩欎釜缃戦〉鐨勫唴瀹瑰ぇ姒傛槸锛氬叧浜庡疄琛屽缓璁鹃」鐩幆澧冨奖鍝嶇櫥璁拌〃澶囨绠$悊鐨勫叕鍛 鏍规嵁銆婁腑鍗庝汉姘戝叡鍜屽浗鐜褰卞搷璇勪环娉曘嬨婂缓璁鹃」鐩幆澧冨奖鍝嶇櫥璁拌〃澶囨绠$悊鍔炴硶銆(鐜繚閮ㄤ护绗41鍙)瑙勫畾锛岃嚜2017骞10鏈1鏃ヨ捣锛屽搴斿綋濉姤鐜褰卞搷鐧昏琛ㄧ殑寤鸿椤圭洰瀹炶澶囨绠$悊銆
  • 鎴戝鐢佃剳鐨勬瘡涓洏閮芥湁Folder.htt鍜孌esktop.ini,鎬庝箞瑙e喅?(鑷繁瀛)_鐧...
    绛旓細鍦 %Windows%\web 鍜 %Windows%System32 涓敓鎴 kjwall.gif銆3銆佸湪 Windows 9X 绯荤粺涓紝鐢熸垚 %Windows%\System\Kernel.dll 鏂囦欢锛涘湪 Windows 2000/XP 涓敓鎴 %Windows%\System\Kernel32.dll鏂囦欢銆4銆佹劅鏌 htt 鏂囦欢锛屽皢鐥呮瘨闄勫姞鍦ㄥ叾涓紱鎰熸煋 html/htm銆乯sp銆乿bs銆乸hp 銆乤sp锛岀敤鐥呮瘨鏇挎崲鍏跺唴瀹广
  • 涓轰粈涔堢綉绔欒緭鍏ョ殑鏃跺欐湁www.com杩涘叆涔嬪悗缃戠珯鍙樻垚浜htt浠涔堜粈涔堢殑...
    绛旓細http鏄秴鏂囨湰浼犺緭鍗忚 灏辨槸浣犱笂缃戝緱閬靛畧鐨勪竴涓崗璁 杩欎釜閮戒細鏈夌殑 涓嶅繀鍦ㄦ剰銆傞珮涓妧鏈湁鐨勩
  • 濡備綍缂栧啓涓涓猙at 鏂囦欢鏉姣
    绛旓細鑰屼笖瀹规槗鍙戠幇閿欒骞跺彲浠ュ強鏃剁籂姝c備緥濡傦紝鎴戣灏咲鐩樼殑htm鏂囦欢绉诲姩鍒癊鐩橈紝鍐嶆牸寮忓寲D鐩橈紝鐒跺悗灏嗘枃浠剁Щ鍥濪鐩橈紝骞舵敼鍚庣紑涓篽tml銆1.bat浠g爜锛欵:Md d D:Copy *.htm e:\d if exist e:\d\*.htm call 2.bat 2.bat浠g爜锛欶ormat d:/q Copy e:\d\*.htm d:D:Ren *.htm *.html ...
  • 鑺墖鍏蜂綋鎬庢牱瓒呴
    绛旓細濡傛灉鐪嬪埌鏌愪簺浜哄湪璋堣鎻愰珮Athlon 64 CPU涓婄殑HTT,骞朵笖姝e湪璁ㄨ璁ゅ彲涓鏅欶SB閫熷害鐨勯熷害,閭d箞灏鎶奌TT褰撲綔FSB鏉ヨ冭檻銆傚湪寰堝ぇ绋嬪害涓,瀹冧滑浠ョ浉鍚岀殑鏂瑰紡杩愯骞朵笖鑳藉琚涓哄悓鏍风殑浜嬬墿,鑰屾妸HTT褰撲綔FSB鏉ヨ冭檻鑳藉娑堥櫎涓浜涘彲鑳藉彂鐢熺殑娣锋穯銆鎬庢牱瓒呴閭d箞鐜板湪浜嗚В浜嗗鐞嗗櫒鎬庢牱鍒拌揪瀹冪殑棰濆畾閫熷害浜嗐傞潪甯稿ソ,浣嗘庢牱鎻愰珮杩欎釜閫熷害鍛?瓒呴...
  • ...璁鍚庢寜鐧惧害缁忛獙杩欎箞涓寮勫氨鎴愯繖鏍蜂簡 缃戝潃htt
    绛旓細浣犲ソ锛氱郴缁熸敞鍐岃〃濡傛敼閿欎竴涓瓧姣嶆垨涓涓鍙凤紝閮戒細寮曡捣绯荤粺閿欒锛岀湅鏍峰瓙浣犳槸鎶婃闈㈣繘绋嬫敞鍐岃〃鏀逛簡锛屼粠鍒殑鐢佃剳涓婃嫹璐濅竴涓闈㈣繘绋嬪埌鏈満锛屾垨閲嶈绯荤粺
  • 璋佽兘鏁欐垜鎬庝箞璁鐢佃剳瓒呴鍚?鎰挎剰鎶婃墍鏈夌殑绉垎閮藉閫併
    绛旓細濡傛灉鐪嬪埌鏌愪簺浜哄湪璋堣鎻愰珮Athlon64CPU涓婄殑HTT,骞朵笖姝e湪璁ㄨ璁ゅ彲涓鏅欶SB閫熷害鐨勯熷害,閭d箞灏鎶奌TT褰撲綔FSB鏉ヨ冭檻銆傚湪寰堝ぇ绋嬪害涓,瀹冧滑浠ョ浉鍚岀殑鏂瑰紡杩愯骞朵笖鑳藉琚涓哄悓鏍风殑浜嬬墿,鑰屾妸HTT褰撲綔FSB鏉ヨ冭檻鑳藉娑堥櫎涓浜涘彲鑳藉彂鐢熺殑娣锋穯銆備笁銆鎬庢牱瓒呴 閭d箞鐜板湪浜嗚В浜嗗鐞嗗櫒鎬庢牱鍒拌揪瀹冪殑棰濆畾閫熷害浜嗐傞潪甯稿ソ,浣嗘庢牱鎻愰珮杩欎釜閫熷害鍛?
  • 濡備綍鎵嶈兘缁欏崟涓殑鏂囦欢澶规垨TXT鏂囨。鍔犲瘑鐮?
    绛旓細if(pass!="123")鈥滃瘑鐮涓123锛屼篃鍙互璁剧疆涓哄叾浠栧瘑鐮佲漿window.location="c:"}鈥滆嫢瀵嗙爜閿欒锛屽垯杩涘叆C鐩橈紝涔熷彲浠ヨ涓哄埆鐨勫垎鍖猴紝浣嗘槸鍙兘涓烘牴鐩綍鈥濅繚瀛樺悗閫鍑鸿鏂囦欢璁剧疆渚垮彲浠ヨ捣鏁堛俧older.htt鏂囦欢鍦ㄥ垱寤哄悗锛屼笅娆¢渶瑕佹洿鏀硅缃垜浠氨鍙互鐩存帴鍦ㄦ枃浠跺す涓壘鍒癴older.htt鏂囦欢锛岀敤璁颁簨鏈墦寮鍚庤繘琛屼慨鏀癸紝淇濆瓨鍚...
  • 鎬庢牱鏉鐥呮瘨
    绛旓細渚嬪锛岀敤鎵嬪伐鏉鎺夆滄涔愭椂鍏夆濈梾姣掔殑鏂规硶鏄厛鏌ュ嚭鎵鏈夌殑鈥渉tm鈥濇垨鈥渉tml鈥濄佲htt鈥濄佲渁sp鈥濈殑鏂囦欢锛岀湅鐪嬪畠浠殑婧愭枃浠朵腑鏄惁鍚湁鈥淩em I am sorry! Happy time鈥濓紝濡傛灉鏈夛紝鍒欒〃鏄庤鏂囦欢鏌撲笂浜嗏滄涔愭椂鍏夆濓紝搴斿皢鍏跺垹闄ゃ傛牴鎹繖涓柟娉曪紝鎴戜滑杩樺彲浠ョ敤鏉ユ煡鏄惁杩樻湁鍏跺畠鏂囦欢鏌撲笂鈥滄涔愭椂鍏夆濈殑鐥呮瘨銆傚彟澶...
  • 扩展阅读:www.ht32vlp.cn ... 浏览器打开网址https ... www.ht040.com ... www.ruyi-ht.com ... ht30.vip浏览器 ... wordpress免费网站 ... www.nunuvip.cn ... www.creditjx.gov.cn ... 浏览器怎么把网址https改成http ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网