此时无法创建您的帐户_当您在网站上创建帐户时,真正发生了什么?

此时无法创建您的帐户

编码语言的简单介绍。

斯坦利·戴Stanley Dai)摄影

认为编码不是一种技能,而是一种语言。 本系列将解释一些与编码相关的关键字,同时帮助您更好地了解与网站和应用程序交互时幕后发生的事情。

本系列的目的不是要教您如何编码,而是要教您编码的语言

我的信念是,即使他们最终不会编码,每个人都应该能够理解和说这种语言。 无论您是从事产品,销售,市场营销,运营还是客户支持方面的工作,此帖子都适合那些希望开始学习更多信息的人。

对于初学者来说,在阅读技术文章时,陌生的技术术语是一个常见的障碍。 如果您不了解法律术语,那么诸如技术性词语之类的大型技术性词语可能会令人生畏。 词汇表中以下定义的任何令人生畏的术语都将带有星号(*)。

每个人都已采取的最重要的措施之一就是使用您的电子邮件和密码创建一个帐户。 今天,我想通过典型的电子邮件和密码注册向您介绍幕后的真实情况。 让我们探索吧!

创建帐户:

有一系列涉及前端*与后端*交互的操作。

步骤1: 检查您是否不存在

输入电子邮件和密码后,单击注册按钮时,输入的信息将首先作为请求发送到服务器*,以验证您的帐户是否存在。 如果是这样,那么您将被重定向到登录,而不是注册。

第2步: 安全地存储您的帐户详细信息

如果服务器*确认您尚未进入系统,则可以创建一个新帐户了! 在更高级别上,系统需要做的是将数据库存储在您的电子邮件和密码中,以便您进入自己的帐户。

但是,存在一个大问题-出于安全原因,密码无法以您键入密码的方式存储在系统中-如果有人可以访问它们,它们可能会冒充您。 它们必须在存储之前进行修改。 您可能输入了密码,例如“ drgkjlDKHKJ123”,但密码将以完全不同的方式存储在数据库中。 还记得Equifax数据泄露吗? 发生这种情况是因为敏感信息未安全存储。

修改过程如下所示:

首先,生成了一种称为salt的东西,它不过是一个随机字符串,通常混入您的密码中以提高安全性。 然后,将整个字符串提取并通过算法。 此过程称为哈希 ,该算法称为哈希算法 。 假设您和您的朋友都使用相同的密码。 在哈希过程之前添加盐将确保哈希密码完全不同。 然后,将散列的密码,盐和您的电子邮件安全地存储在数据库中*。

需要注意的一件事是,一旦对密码进行哈希处理,这是一个不可逆的过程,因此您无法以原始形式将其取回。 如果您曾经在网站上经历过“忘记密码”流程,并且实际上通过电子邮件收到了原始密码,那么您现在知道该密码是不安全存储的,因为哈希是不可逆的过程。

步骤3:建立工作阶段和Cookie

现在,服务器已准备好向前端发送信号,表明您已准备好登录。但是首先,它必须采取进一步的措施。 后端必须创建一个会话,然后发送令牌(可以使用一条信息代替用户名或密码来告诉系统它实际上是您)。 然后,令牌将存储在您的浏览器中的Cookie中。 每当您访问该网站上的任何页面并登录时,该信息将用于验证您的身份。 那不是很酷吗? 会话也将到期。 因此,例如,如果我是第一次访问Groupon ,则将创建一个会话,例如30天。 在那30天内, Groupon会记住我的信息,此后信息将被删除,我将不得不再次登录。

这里要注意的一点是,cookie和会话是独立于登录过程创建的。 例如,如果您访问杂货店网站并在未登录的情况下将商品添加到购物篮中,或者如果离开网站并经过一定时间后又回来,则仍然可以在其中看到它们。

这里需要注意的一点是,这是理想情况下应该发生的情况,但是有时网站不遵循它,因此您的信息有被泄露的危险。

登录:

因此,现在让我们探讨登录系统的操作。

您输入电子邮件和密码,但是这次服务器必须验证电子邮件是否存在。 如果不是,则将您重定向到如上所述创建一个帐户。 如果是这样,您输入的密码将经过上述修改步骤,然后与我们存储在数据库中的密码进行比较*。 如果相同,则您已通过身份验证。 如果没有,您将再次回到登录页面并提示“忘记密码?”。 链接以及相同的登录表单。

记住登录信息:

如果您查看大多数Web表单*,则会看到“在此站点上记住我的密码”复选框。 如果您选中该复选框,则无需输入任何信息即可下次登录。

这是发生的情况:还记得您的浏览器现在如何在其中存储cookie *吗? 下次您访问该网站时,服务器实际上将在浏览器上请求该cookie *,以便它可以识别您并允许您进入。

术语表:

  1. 前端:

让我们以谷歌 - 谷歌的主页的前端是从字面上你所看到和互动与。 当您在Google中输入搜索内容时,所有操作都在前端进行。 前端通常连接到任何应用程序或网站中的后端*。

用法示例:

对于与用户互动非常频繁的网站,“前端很难构建。”

“当我在ipad上打开该网站的前端时,它没有响应-滚动时,它会跳到整个位置。”

2.后端:

后端在幕后工作,以便在与应用程序交互时使正确的事情发生。 前端*与后端进行通信,以在用户和界面之间创建有意义的交互。 如果您在Google (前端)中输入没有后端的搜索,那么实际的网站将无济于事。 后端是找到搜索结果的地方。

可以将其想像成前端接收到您想要做的事情,然后请求后端的系统提供适用的信息,即后端。

用法示例:

“我想要一个可以分析您所有Facebook墙上帖子的应用程序。 您认为该后端将花费多长时间?”

“该网站未处理我的付款请求。 似乎存在后端问题”。

3.表格:

表单是您在网上或应用程序中输入信息的任何位置。 例如,在表格中您可以在购买商品时输入运输信息,在创建帐户时可以输入用户名和电子邮件。 顾名思义,表单验证是检查您输入的内容是否正确的过程。

用法示例:

“网络表单已损坏。 单击提交按钮没有任何React。”

“我必须输入了错误的密码。 我不断收到表单验证错误。”

4.客户:

在现实生活中,客户就是为某些服务付费的人。 从技术上讲,当我们说客户端时,这就是您用来发出请求以连接到服务器的*。 因此,如果您在计算机上,并且正在通过浏览器输入网站地址,则浏览器就是客户端,这就是请求信息的原因。

用法示例:

“智能手机将网络客户带到了所有人的腰包,这是改变游戏规则的原因之一。”

“最好的电子邮件客户端是什么?” —转换为您用来发送电子邮件的内容。 (Mac的电子邮件应用程序或Outlook等)。

5.服务器:

服务器是机器上可以响应请求的一种软件。 即使这个词听起来确实令人生畏,但这就是它的全部。 因此,例如,当您在浏览器中键入Google.com时,浏览器知道向Google的服务器发出请求,而Google的服务器知道如何响应这种请求,即为您提供Google主页。

这里要注意的一件事:由于服务器是知道如何响应请求的软件,因此任何计算机都可以是服务器,客户端或什至两者。 您可以编写代码,以便在计算机上运行本地服务器,并安装同时发出请求的浏览器(充当客户端)。 那不是很有趣吗?

您可以提出什么要求? 从键入Google.com时请求首页到在google中搜索内容时请求信息都可以。 因此,当我输入Google.com时 ,我希望显示Google主页。 当我在Google中键入一些信息时,我要求显示搜索结果。 这些是向Google服务器发出的不同类型的请求。 请求之后是响应,因此您通常会看到这些单词相互使用。

用法示例:

“您能想象亚马逊的服务器在网络星期一收到多少个请求吗?”

“服务器已关闭。” —当网站没有提供您想要的东西时,您会听到的最常见的声音:)

“服务器无法处理流量。” —通常是因为有很多人提出要求。

6.数据库:

数据库是网站或应用程序存储您以后希望检索的信息的地方。 例如,当您返回网站并输入用户名和密码之类的信息时,该信息必须存储在某处,因为您希望用户再次输入该信息。 该存储就是数据库,它是以结构化方式存储的数据的集合,以后可以检索。

数据库的类型很多-您可能听说过一些数据库,例如SQL,Postgres和Mongo。

用法示例:

“馆员调查了数据库,并告诉我这本书已经存在。”

7. Cookies:

大多数网站都会在您的浏览器中存储称为cookie的信息,这些信息会在您访问服务器时让服务器知道您是谁。 如果不是使用Cookie,则在您访问网站时也无法识别您的身份,也称为“ 无状态交易”。

您可以尝试-转到浏览器设置并清除cookie。 然后,访问您经常访问的网站,他们会要求您登录。

用法示例:

“我需要清除缓存中的cookie。”

“您可以尝试清除Cookie然后刷新吗?” —有时,当您在页面上看到错误时,您可能会收到工程师的要求。

8.会议:

首次访问网站并创建帐户时,将创建一个会话。 会话只是给定网站将识别您的时间,视网站而定。 因此,例如,当您在线向购物车中添加商品并离开网站时,即使您尚未创建帐户,回来后仍会在在线购物篮中找到它。 它不会永远存在。 如果两个月后回来,您可能会发现它为空,因为会话已过期。 创建会话后,它会获得一个ID,并将其发送到您的浏览器,该ID将其存储为cookie以标识您。

用法示例:

“我很高兴Instacart保留了我的会议,但我的购物车中仍然有所有物品。”

希望您喜欢这篇文章,并希望它使您对条款更加满意。 之所以需要适应这种语言,是因为软件越来越多地影响着我们生活的方方面面,这些术语将变得越来越普遍。 如果您从事技术工作,那么熟悉该语言就显得尤为重要-它不仅有助于您与工程师的交流,而且有助于您对正在发生的事情有更深入的了解。

在下一篇文章中,我们将介绍一些新术语,甚至还会重用其中的一些术语。 请发表评论,让我知道您将来希望看到的主题。 并且,一如既往,请喜欢并分享该文章!

感谢Brooke, Graham Erik 在发布前阅读草稿!

翻译自: https://hackernoon.com/what-really-happens-when-you-create-an-account-on-a-website-1393ecef76de

此时无法创建您的帐户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在组织账户的私有仓库中调用个人账户的私有仓库中已有的工作流,可以按照以下步骤进行操作: 1. 在个人账户创建一个私有仓库,并在其中编写工作流程的 YAML 文件。 2. 在组织账户创建一个私有仓库,并将个人账户作为该仓库的协作者。 3. 在组织账户的私有仓库中,创建一个新的工作流程,并使用 `actions/checkout` 操作来检出组织账户的私有仓库。 4. 在工作流程中添加 `actions/checkout` 操作来检出个人账户的私有仓库,例如: ``` - name: Checkout personal repo uses: actions/checkout@v2 with: repository: your-username/your-private-repo ref: main token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} ``` 在这里,`your-username` 是您的个人账户的用户名,`your-private-repo` 是您的私有仓库的名称,`PERSONAL_ACCESS_TOKEN` 是个人账户的访问令牌,用于进行身份验证。 5. 添加 `jobs` 部分来运行个人账户中已有的工作流程,例如: ``` jobs: example-workflow: name: Example Workflow runs-on: ubuntu-latest steps: - name: Checkout personal repo uses: actions/checkout@v2 with: repository: your-username/your-private-repo ref: main token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} - name: Use workflow from personal repo uses: your-username/your-private-repo/.github/workflows/example-workflow.yml@main with: token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} ``` 在这里,`example-workflow` 是您的个人账户中已有的工作流程的名称,`your-username` 和 `your-private-repo` 分别是您的个人账户和私有仓库的名称,`PERSONAL_ACCESS_TOKEN` 是个人账户的访问令牌,用于进行身份验证。 6. 提交并推送您的更改,然后在组织账户的私有仓库中触发工作流程。 此,工作流程将从组织账户的私有仓库中检出代码,然后从个人账户的私有仓库中获取工作流程定义,并按照您在个人账户中定义的工作流程来执行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值