技术饭 解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题

解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题,现象:1、两个https的二级域名解析在同一台服务器上,端口都是443;2、前端域名与接口域名同时在同一个浏览器打开,接口域名登录后台生成PHPSESSID,保存了登录状态;3、前端域名请求接口域名生成验证码,验证保存在session里面,由于访问接口,每次的会话session_id都是不一致,为了实现跨域验证码的验证,这个时候需要在接口端设置session_id(随机数),然后把这个随机值返回给前端,到时候验证的时候再设置session_id(随机数),这样会话才能保持一致,验证码才能通过验证;4、由于步骤3设置session_id(随机数)重新生成PHPSESSID后,导致了步骤2登录后台的PHPSESSID被改成了步骤3设置的PHPSESSID,这时候步骤2的登录状态就消失了,直接退出登录。

阅读全文 » 985天前
2021年08月14日

技术饭 php 7.2 安装 swoole 扩展

centos版本升级到8,PHP的环境升级 php 7.2 后,当我们需要使用到swoole服务的时候这时候就需要安装swoole,php扩展的安装相对比较简单,swoole的安装步骤可以参考swoole官方的文档教程:https://wiki.swoole.com/#/environment

阅读全文 » 993天前
2021年08月05日

技术饭 本地开发环境nginx配置HTTPS,使用https证书

本地开发环境nginx配置HTTPS,使用https证书,我们访问的所有网站几乎都是受HTTPS保护的。如果你的站点还没有,那你应该使用它。使用HTTPS保护服务器也意味着你不能从不是HTTPS服务器向此服务器发送请求。这给使用本地开发环境的开发人员带来了一个问题,因为它们都运行在开箱即用的http://localhost环境中。

阅读全文 » 1233天前
2020年12月09日

技术饭 阿里云cdn的免费https证书到期未更新导致页面提示https过期不安全,访问网页显示空白

阿里云cdn的免费https证书到期未更新导致页面提示https过期不安全,访问网页显示空白,一直以来https长期付费的证书都比较贵,所以一直采用的是阿里云的免费https证书,这种https证书一年一换,这两天没注意看,证书过期了,然后就重新申请下载,等nginx都配置好之后发现访问网页显示空白,还是一直提示证书过期不安全,搞了好久,证书正常下载,也替换了,ngnix也重启了,还是这样,后来查看了下是因为当前的域名绑定了阿里的cdn,cdn的https证书并未更新,还是原来的那个,这才导致了访问一直空白,提示证书过期。

阅读全文 » 1244天前
2020年11月28日

技术饭 解决Unable to find the wrapper "https"的二种方法

​这个问题其实通php加载openssl模块来解决,是件挺容易的事,但是牵扯到用什么linux系统,以及是用多少位的linux系统,以及php自身的版本问题,以及是不是手动安装,还是管理工具安装时,其实有的时候,还是比较麻的。

阅读全文 » 1258天前
2020年11月13日

技术饭 PHP短网址生成逻辑与实现

​微博短网址大家一定不陌生,如:http://t.cn/ 这个网站点开就直接跳转到了微博,是不是看起来很方便,但应该很多人都不知道是怎么实现的,我们今天就来讲讲PHP生成短网址的方法。PHP生成短网址的:如果把短网址还原了,你知道是个什么样子的吗?可能你看到的短网址都是这个样子:http://p-d-d.cn/T0f121,其实他还原了说不定就是这个样子:https://www.copylian.com/,按这个格式可以知道这个短网址其实是通过代码将长的网址:https://www.copylian.com/ 转成 http://p-d-d.cn/T0f121 ,然后短网址做个重定向到长网址就好了。

阅读全文 » 1265天前
2020年11月06日

技术饭 php判断当前是http还是https

php判断当前是http还是https,使用 $_SERVER['HTTPS'] 的值来判断,或者通过 $_SERVER['SERVER_PORT'] 的端口号443来判断是否是https,如果is_ssl()方法返回true则是https,如果返回false则是http。

阅读全文 » 1293天前
2020年10月10日

技术饭 在https中发ajax请求http被浏览器block

在https中发ajax请求http被浏览器block,从https发送http请求是不可以的,除非对方提供了https的接口。

阅读全文 » 1946天前
2018年12月26日

技术饭 Apache配置https启动不了的解决办法

在证书控制台下载Apache版本证书,下载到本地的是一个压缩文件,解压后里面包含_public.crt文件是证书文件,_chain.crt是证书链(中间证书)文件,.key文件是证书的私钥文件(申请证书时如果没有选择系统创建CSR,则没有该文件)。

阅读全文 » 1946天前
2018年12月26日

技术饭 阿里云中如何实现http认证成https?

阿里云中如何实现http认证成https?今天看到阿里云有个免费的https证书认证,今天早上闲着无聊就搞了一下,刚刚开始搞了大半天一直报错,后续百度之后看到了许多解决方案,就综合乐一下。

阅读全文 » 2590天前
2017年03月23日

技术饭 php中curl扩展的简单使用

cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等协议都可以很好的支持,包括一些:HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,keyberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,下载文件断点续传,上传文件断点续传,http代理服务器管道,甚至它还支持IPv6,scoket5代理服务器,通过http代理服务器上传文件到FTP服务器等等。这就是我们为什么要使用cURL的原因!

阅读全文 » 2668天前
2017年01月04日