作者piligo (霹雳狗)
看板PHP
标题[请益] 背景验证如何运用
时间Thu Aug 15 09:15:13 2019
请问我有一个网站需要先开启指定网址(验证)才能再开另一个网址流览内容(商品)
假设有10样商品就有对应10个网址,但是验证网址就固定一个网址
我想透过PHP把这个流程变成一次性动作
目前写出来的模式是每个商品打开前先开验证网址
变成触发10个商品连结会额外多10个重复的验证网页
有什麽函数是可以把载入验证网页这个动作做成背景载入
就是不要把验证网页显示在分页上
验证的网页不需要填任何资料,只要浏览器开过就算验证了
不知有没有版友看的懂我在表达什麽 @@
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.164.33.60 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1565831715.A.2CA.html
※ 编辑: piligo (218.164.33.60 台湾), 08/15/2019 09:28:11
1F:→ LMGG: Ajax 验证,应该有符合你的需求 08/15 09:30
2F:→ piligo: 可是我找到的都是验证表单 我只是单纯要背景载入网页而已 08/15 09:51
3F:→ piligo: 突然想到可以用iframe切一小块载入验证 只是有更简单更好 08/15 09:55
4F:推 my1938: ajax又不一定只能验证表单。商品页的内容先不要写进去,然 08/15 10:13
5F:→ my1938: 後document ready的时候触发ajax进行验证,验证成功後在 08/15 10:13
6F:→ my1938: 把商品页的内容回应给ajax显示出来 08/15 10:13
7F:推 visa9527: 这种还是用 iframe 吧,Referer 都直接送过去 08/15 11:06
8F:→ visa9527: Ajax 浏览器不会自动处理 session 只可写 cookie 08/15 11:07
9F:→ visa9527: 你用透明或视界范围外的 iframe 就好了 08/15 11:08
10F:→ piligo: 感谢 一行无框的iframe就解决了 08/15 13:22
不过又延伸一个问题 iframe还没载完产品页就送出
我尝试在iframe跟开启产品页面中间加了一行
<?php sleep(3); ?> 实际上有等3秒,但是产品还是显示不出来
※ 编辑: piligo (218.164.33.60 台湾), 08/15/2019 13:39:58
11F:→ piligo: 发现用Android手机才有这个问题 用电脑不用加Sleep也正常 08/15 13:41
12F:→ piligo: 错乱了~电脑开无痕跟手机一样状况 08/15 13:56
我把iframe视窗解除隐藏後发现,iframe摆在sleep前面,却是sleep完iframe才载入
疑~PHP不是逐条式执行吗
※ 编辑: piligo (218.164.33.60 台湾), 08/15/2019 14:09:25
※ 编辑: piligo (218.164.33.60 台湾), 08/15/2019 14:10:03
13F:推 my1938: 是逐条执行没错啊,但又不是逐条输出显示 08/15 15:20
14F:推 yaritai: ob_flush把缓冲输出 08/17 06:34
15F:推 tsao1211: 验证完再redirect就好了 08/17 09:23
16F:推 GoldRoger: session 08/17 09:50
17F:→ KKFN: shorturl.at/BEHU8 08/18 12:35
18F:→ KKFN: 前端问题前端解,iframe 有 attribute 可以在 loaded comple 08/18 12:37
19F:→ KKFN: te 的时候触发事件,所以你会预设 submit 是 disabled,然後 08/18 12:37
20F:→ KKFN: 透过 iframe 的 attribute 去在载入完成的时候触发事件来把 08/18 12:37
21F:→ KKFN: submit 改为 undisabled 08/18 12:37
22F:→ piligo: BEHU8失效了? 来好好研究一下iframe的attribute 谢谢 08/18 23:01
<script>
function load()
{
if(value == true){
document.getElementById('sbmt').disabled=true;
}else{
document.getElementById('sbmt').disabled=false;
}
}
</script>
<input id="sbmt" name="nid" type="submit" value="test">
<iframe onload="load()" width="0px" height="0px" frameborder="0"
scrolling="no" src="
https://www.pchome.com.tw"></iframe>
这边怎麽试都不成功,不知该怎麽判断load的值
※ 编辑: piligo (218.164.45.137 台湾), 08/19/2019 12:14:30
23F:推 mikejaffson: t大说的就是最简易的做法 08/23 13:30
24F:→ mikejaffson: 也不用担心浏览器等前端限制问题 08/23 13:30
25F:推 frank910138: 验证完 传callback url redirect回来 08/23 18:57