目前多数邮局服务提供商,就安全性保障来讲,仅仅局限于HTTPS登录,对于登录成功之后,用户的所有请求,均采用普通的HTTP模式。三五邮局从 用户的安全性考虑,对邮局产品进行了重大升级,提供用户从登录服务开始,直至访问服务结束,全程采用SSL保护模式功能
目前多数邮局服务提供商,就安全性保障来讲,仅仅局限于HTTPS登录,对于登录成功之后,用户的所有请求,均采用普通的HTTP模式。三五邮局从 用户的安全性考虑,对邮局产品进行了重大升级,提供用户从登录服务开始,直至访问服务结束,全程采用SSL保护模式功能。下面一起分享下关于三五邮局产品 全程SSL保护解决方案。
??一、众所周知,要实现全程HTTPS访问,首先就要解决SSL证书的问题。对于普通的应用服务来说,一个域名对应于一个服务,那么购 买、配置SSL证书完成HTTPS全程访问,并不是一件复杂的事情。而对于像我司这种专注于SAAS服务的公司来说,大多数客户都是通过自己的域名来登录 自己购买的服务的。所以多个域名就必须共享一个SSL证书(一个域名用户购买一个证书不可行)。所以按照类似多域名单SSL证书登录的模式,我们采用 HTTPS全程通过统一地址进行访问。
例如:mail.a.com访问webmail,mail.b.com访问webmail,则两个域名登录之后统一采用https://mail.serverhost.com进行访问。
二、我们的所有的产品线基于CAS的单点登录。所以在实现邮局产品的全程HTTPS访问时,就主要需要对Jasig?CAS?进行一定的业务处理。首先简单介绍下CAS实现的原理(详细的CAS知识,请自行google了解)。
1、CAS的核心思想是基于客户端Cookie服务共享机制。
2、CAS两个核心对象TGT,ST。TGT是CAS封装了客户端的Cookie对象,写入浏览器客户端的Cookie。ST是CAS服务端为每一个CAS客户端创建的一个票据。
3、所有的客户端服务的登录认证均跳转至CAS服务端,CAS服务端通过TGT判断用户是否完成登录验证。若没有TGT,则会到登陆页要求用户输入信息验 证,验证成功之后,CAS服务端会产生一个TGT对象,并写到浏览器客户端。同时为对应的服务创建ST,并作为参数跳转回请求认证的服务。对应的服务获取 到ST,再次到CAS服务端验证ST的有效性,若有效,即允许访问服务。
以上简单介绍了CAS的实现原理和流程,那么在需要HTTPS全程访问,我们就需要在ST上下功夫。
通过分析CAS的源码可以发现,CAS在验证成功之后,跳转到对应的服务时,是根据请求的参数Service,而同时其内部优先支持目标服务 (targetService)参数,因此我们采用了在登录验证时,若选择全程SSL保护,则会携带targetService参数引导CAS服务端跳转 到targetService(验证成功之后),并且以targetService生成ST。其中参数targetService参数即我们每一台服务器 HTTPS配置serverHost,这一步是关键。
完成上述targetService(HTTPS)的引导,即成功引导用户使用HTTPS访问邮局服务。
三、实现多个服务切换之后,切入邮局系统,仍然保持HTTPS访问。
我们主要采用了Cookie机制,当然你也可以采用Session机制,条条大道通罗马。在CAS服务端验证请求时,我们会根据 用户的选择,记录当前是否HTTPS全程访问到Cookie中,注意此时的Cookie,我们会记录到邮局服务下(而并非CAS服务下),并且是根目录, 有效期设置为浏览器的会话时效。这样,当用户切换不同服务之后,切回邮局,我们才能记住当前用户的SSL保护状态。
四、最后,谈谈HTTPS访问邮局服务过程,出现的一些问题。浏览器安全限制的问题,在IE8版本以下,HTTPS应用下,若是访问HTTP资源,则浏览器会提示安全限制。这个真的很影响用户的交互,你怎么看?必须解除。
因为三五邮局已经是一个非常庞大、成熟的系统,当然内部不免某些配置HTTP的资源,这就决定了我们接下来的工作是,消除系统内部所有的这些HTTP请 求。一是尽量把所有的资源请求路径相对化,采用相对路径;二是对于无法相对化的请求,尽量在客户端采用获取ServerName的方式来替代;当然,还有 一些外部系统嵌套的,那就要保证它也支持HTTPS咯,实在没办法的话,那就只能忍痛割爱。
以上为个人整个SSL保护实现的愚见,供诸君吐槽。
原文地址:浅谈邮局全程SSL保护的实现, 感谢原作者分享。

酸性属性には、原子性、一貫性、分離、耐久性が含まれ、データベース設計の基礎です。 1.原子性は、トランザクションが完全に成功するか、完全に失敗することを保証します。 2.一貫性により、データベースがトランザクションの前後に一貫性を保証します。 3.分離により、トランザクションが互いに干渉しないようにします。 4.永続性により、トランザクションの提出後にデータが永久に保存されることが保証されます。

MySQLは、データベース管理システム(DBMS)であるだけでなく、プログラミング言語にも密接に関連しています。 1)DBMSとして、MySQLはデータを保存、整理、取得するために使用され、インデックスを最適化するとクエリのパフォーマンスが向上する可能性があります。 2)SQLとPythonに埋め込まれたプログラミング言語とSQLalchemyなどのORMツールを使用すると、操作を簡素化できます。 3)パフォーマンスの最適化には、インデックス、クエリ、キャッシュ、ライブラリ、テーブル分割、およびトランザクション管理が含まれます。

MySQLはSQLコマンドを使用してデータを管理します。 1.基本コマンドには、select、挿入、更新、削除が含まれます。 2。高度な使用には、参加、サブクエリ、および集計関数が含まれます。 3.一般的なエラーには、構文、ロジック、パフォーマンスの問題が含まれます。 4。最適化のヒントには、インデックスの使用、Select*の回避、制限の使用が含まれます。

MySQLは、データの保存と管理に適した効率的なリレーショナルデータベース管理システムです。その利点には、高性能クエリ、柔軟なトランザクション処理、豊富なデータ型が含まれます。実際のアプリケーションでは、MySQLはeコマースプラットフォーム、ソーシャルネットワーク、コンテンツ管理システムでよく使用されますが、パフォーマンスの最適化、データセキュリティ、スケーラビリティに注意を払う必要があります。

SQLとMySQLの関係は、標準言語と特定の実装との関係です。 1.SQLは、リレーショナルデータベースの管理と操作に使用される標準言語であり、データの追加、削除、変更、クエリを可能にします。 2.MYSQLは、SQLを運用言語として使用し、効率的なデータストレージと管理を提供する特定のデータベース管理システムです。

INNODBは、レドログと非論的なものを使用して、データの一貫性と信頼性を確保しています。 1.レドログは、クラッシュの回復とトランザクションの持続性を確保するために、データページの変更を記録します。 2.Undologsは、元のデータ値を記録し、トランザクションロールバックとMVCCをサポートします。

説明コマンドのキーメトリックには、タイプ、キー、行、および追加が含まれます。 1)タイプは、クエリのアクセスタイプを反映しています。値が高いほど、constなどの効率が高くなります。 2)キーは使用されているインデックスを表示し、nullはインデックスがないことを示します。 3)行はスキャンされた行の数を推定し、クエリのパフォーマンスに影響します。 4)追加の情報を最適化する必要があるというFilesortプロンプトを使用するなど、追加情報を提供します。

Temporaryを使用すると、MySQLクエリに一時テーブルを作成する必要があることが示されています。これは、異なる列、またはインデックスされていない列を使用して順番に一般的に見られます。インデックスの発生を回避し、クエリを書き直し、クエリのパフォーマンスを改善できます。具体的には、expliect出力に使用を使用する場合、MySQLがクエリを処理するために一時テーブルを作成する必要があることを意味します。これは通常、次の場合に発生します。1)個別またはグループビーを使用する場合の重複排除またはグループ化。 2)Orderbyに非インデックス列が含まれているときに並べ替えます。 3)複雑なサブクエリを使用するか、操作に参加します。最適化方法には以下が含まれます。1)OrderbyとGroupB


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
