浏览模式: 普通 | 列表
p.s.其他centos服务器还没有遇到这个问题,或者说尚不清楚是否存在这个问题

原始字符串
<a href="mailto:666666@qq.com ">666666@qq.com</a>

正常json_encode()后
<a href=\"mailto:666666@qq.com \">666666@qq.com<\/a>

目前遇到的问题是 json_encode 后自动加了 ?PHPSESSID=AAAAAAAAAAA ,造成json字符串无法正常解析了
<a href=\?PHPSESSID=AAAAAAAAAAA"mailto:666666@qq.com \">666666@qq.com<\/a>


解决办法:
在php.ini中配置为
session.use_only_cookies = 1;
p.s. 这些拼写造成的问题,很难检查出来,调试过程浪费时间,手写代码容易手误,还是要多利用工具的自动提示功能。

1、组件不显示,检测到怀疑人生
最后发现是模板单词 template 误写成了 templete


2、一个vant组件背景色样式background-color始终无法自定义

检查了几遍官方文档,查csdn和cnblog,还去查了百毒就是没有头绪
无意中再加个 background 居然就成功改色了,想想不能够,仔细看了下原来是单词错误
background-color 写成了 backgroud-color
难怪浏览器调试里出现backgroud-color是未知属性(unknown property value),怎么也不会想到这么熟悉的单词能写错。
...

阅读全文…
开发环境中因为使用node+vue调试,一般都会有跨域问题,前端放在node下 http://localhost:8080 ,而接口放在 http://localhost:2020/myapi。
浏览器不允许跨域访问,报Access-Control-Allow-Origin限制。

解决方法一
利用vue提供的反向代理,配置vue.config.js
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
     transpileDependencies: true,
     devServer : {
      proxy : {
        '/proxyapi' : { //这里/proxyapi做识别用,url重写时会替换为空。同样axios的base_rul也需要配置为/proxyapi
          target : 'http://localhost:2020',
...

阅读全文…
今天发现php-fpm有慢语句 session_start()
网上认为是相同浏览器访问相同网站,不同的tab会出现这个问题。
锁了session写入但是能读取。

网上解决方法
在写入完session后立即执行掉 session_write_close()
也就是保存当前session,然后解除锁定。


推论:
此站没有用文件保存session,而是使用了memcached,同样涉及到session锁死的问题
不过高并发下才出现可能是memcached设置的并发量不够
就把原来的1024直接改为4096,运行一段时间看负载情况


另外session赋值结束可以使用 session_commit() ,避免php页执行时间长导致session锁死
下面的例子可以演示 一个调用session的php运行如果没有结束,其它php运行就会一直等待下去,从而php-fpm超时
...

阅读全文…
本来 open_basedir 是在php.ini中设置,但是lnmp的nginx里面覆盖了这个参数,要想php的require突破根目录需要修改 fastcgi.conf

/usr/local/nginx/conf/fastcgi.conf
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/";
attachments/202103/13_165652__20210313165625.png


错误代码:
英文: WinSCP:but error occurred while setting the permissions and/or timestamp
中文: 无权访问,错误码3,文件xxx上传成功,但是在设置权限和/或时间戳时发生错误。

错误分析:
首先winscp下载正常,文件带时间戳也会自动下到本地,问题出在上传的时候,
出现这个提示的时候文件已经上传成功,但是在修改文件时间戳的某些时候出现了权限不足,结果测试发现
1、sftp用户上传新文件时,时间戳也上传成功
2、sftp用户覆盖自己上传的文件时,时间戳也上传成功
3、sftp用户覆盖其他用户的文件时出现了错误,时间戳无法保留原始文件的时间戳,只能更新为当前最新时间
...

阅读全文…
p.s. denyhosts默认是在iptables也添加了封杀的IP,所以删除误删IP,需要denyhosts和iptables都要处理掉。其实在未受攻击的情况下,可以将iptables封IP关闭,目前的拨号VPS这么便宜,IP真不值钱,被杠上了封个几万IP也没用,加固密码强度才是必须的

DenyHosts是Python语言写的一个程序软件,运行于Linux上预防SSH暴力破解的,它会分析sshd的日志文件(/var/log/secure),当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。

【下载】
https://sourceforge.net/projects/denyhosts/files/denyhosts/
本文下面以denyhosts-3.0.tar.gz为例记录过程,操作系统为 centos6.9
...

阅读全文…