【发布时间】:2019-03-07 00:17:50
【问题描述】:
我正在尝试了解网站安全性的工作原理以及数据在网站后端的流动方式
假设我访问了链接 https://www.iimjobs.com/search/IT-0-0-0-1.html
它通过 getajaxresponse.php 发送 AJAX 查询并获取我可以从 google chrome 浏览器检查选项中看到的作业列表,如下所示。
Chrome - Inspect Element - Network Tab
如果您转到 Network=>XHR=>Headers=>选择 getajaxresponse.php 并在标题窗格中向下滚动,您将获得作业 ID 列表。
当我们在主网站中向下滚动时,会调用后续的 HTML 页面(https://www.iimjobs.com/search/IT-0-0-100-2.html 等),这些页面会发送下一个 AJAX 调用并不断获取新的作业 ID,如 chrome 检查工具所示。
我的问题: 网站如何根据作业 ID 填充作业的其余详细信息。
例如,第一个列出的作业有一个唯一的 URL,其中包含第一个作业 ID (614482) https://www.iimjobs.com/j/ocwen-it-project-manager-10-15-yrs-614482.html?ref=sp
页面是如何获取或构建此 URL 的?地点?职位发布日期?在网页视图中。
【问题讨论】:
-
它发出 another AJAX 请求,返回一大块 HTML。将您的网络检查器过滤为 XHR,您会看到它。
-
您看到的大块 HTML 是对下一页的 GET 请求。我的观点是,首先我 GET /IT-0-0-0-1.html,然后 POST getajaxresponse.php。此 POST 获取 JOB ID 并填充网页;接下来,当我向下滚动时,AJAX GET /IT-0-0-100-2.html 又 POST getajaxresponse.php 以获取新的作业 ID 集,这将继续填充作业列表,但我仍然没有查看网页如何从 jobid 获取 URL、位置、日期。
-
它没有使用作业 ID。工作详情都在
GET电话中。POST用于其他用途 - 可能存储查看了哪些作业。我敢打赌,他们的系统会告诉雇主“你的工作被浏览了 x 次”。 -
明白。你知道通过这些浏览器开发工具学习的好教程吗?
标签: php html ajax google-chrome-devtools reverse-engineering