Luuljh 发布的文章

PHP 单文件 Proxy FQ

想到什么就写什么,有点杂乱。
水平一点都没上升,在学校压力山大啊,正则学到多少忘多少。

项目地址:https://github.com/1443691826/mdzz/tree/master/PHPproxy

说明:
先找到OPTIONS,选好UA
其他杂项:
half_proxy:半代理(不代理图片等等资源)
RM_script:移除脚本(JS)
Avoid_redirect:防止重定向(禁止跳出页面)(有BUG尽量不选)
Read_mod:阅读模式 (保留图片文字,去除大部分样式)

简单解决IMG防盗链问题

这两天可算是放假了,才有空摸到电脑。
PS: 感觉思维越来越混乱,很多东西都联系不起来,想个东西都要累死 = =.

方法一:

<meta name="referrer" content="never">

方法二:

<iframe src="imgsrc"></iframe>

原理都是清除原来的referrer,欺骗目标服务器。

各种硬盘分区格式的优缺点

NTFS

它的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片,有日志功能,无文件大小限制,支持文件压缩和长文件名,服务器文件管理权限等。最大的缺点是Mac系统只能读取NTFS文件但没有权限写入,需要借助第三方工具才能实现。因此跨平台的功能比较差。日志系统对卡的读写频繁,可能会使闪存寿命减少。

- 阅读剩余部分 -

JQ 点击元素以外位置关闭元素

方法一:
给document绑定click事件,判断点击的时候是否点到了el元素,判断没点到就关闭。

$(document).bind("click", function (e) {
    if($(e.target).closest("el").length <= 0){
        $("el").hide();
    }
});

方法二:
同样给document绑定click事件,如果点到元素内部,则阻止事件函数执行。

$(document).click(function(){
    $("el").hide();
});
$("el").click(function(event){
    event.stopPropagation();
});

Mysql JBspider的条件分页

这是一种很捉鸡的写法,应该有更优的算法的,但是我的Mysql还很烂,只能拐个弯:滑稽:
下面的$pageNo应该要先自减一,因为用户一般认为页面是从1开始计数的。
过程:

  1. 计算有多少个id不显示
  2. 利用limit查询得到当前页数下不显示的id
  3. 用个while把获取到的id跑成mysql指令
  4. 再次执行查询,附加条件不显示被ban的id

代码:
$wd: 搜索的关键字
$banip: 被ban的id (手滑写成ip)
$pageNo: 第N页减一
$tmp_addon: 被ban掉的id的个数
$searchlimit: 每页显示多少
其中,第一次与第二次查询到的内容排列顺序必须相同。

    $banid = "id <> -1";
    $tmp_addon = $pageNo*$searchlimit;
    $tmp_wd = str_replace(" ", "|", $wd);
    if (substr($tmp_wd, 0, 1) == "|") {
        $tmp_wd = substr($tmp_wd, 1);
    }
    if (substr($tmp_wd, -1) == "|") {
        $tmp_wd = substr($tmp_wd,0,strlen($tmp_wd)-1); 
    }
    $tmp_banid_ = $db->query("SELECT id FROM jb_spider WHERE concat(url,title,html) like '%".$s."%' ORDER BY title REGEXP '(".$tmp_wd.")' desc limit ".$tmp_addon);
    while ($tmp_banid = $tmp_banid_->fetch_row()) {
        $banid .= " AND id <>".$tmp_banid[0];
    }
    unset($tmp_banid_,$tmp_banid,$tmp_addon);
    $rs = $db->query("SELECT * FROM jb_spider WHERE concat(url,title,html) like '%".$s."%' AND ".$banid." ORDER BY title REGEXP '(".$tmp_wd.")' desc limit ".$searchlimit);
    unset($tmp_wd);

ORDER BY title REGEXP (xxx|xxx)再次让结果按照title排序,模拟权重