吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2599|回复: 2
收起左侧

[其他转载] api接口调用,页面访问计数器

[复制链接]
Creator2K 发表于 2020-12-26 19:19
说明



为了统计php开放给外界的接口调用情况,写了本脚本
为了方便数据统计和管理方便,而且php自带支持sqllite,所以便使用sqllite进行数据储存
数据库记录了接口/页面调用ip,来源地址,调用时间等信息
可通过url的参数注入SQL语句的方式执行SQL语句,从而完成数据的查询/操作


文件结构

  • gendb.php 生成数据库、表的脚本
  • runpv.php 用于异步调用pv.php的脚本
  • pv.php 执行统计的脚本(不可直接调用)
  • query.php 查询统计数据的脚本



使用方法



1 拉取core代码
https://github.com/cxying/api-call-counter.git
2 使用
2.1 复制core的文件到自己php服务器上对应文件夹内
2.2 浏览器访问gendb.php,将自动生成数据库文件,并保存在部署目录下db/pv.db下
2.3 参考example.php将下面的代码加到需要统计的api或页面中
[PHP] 纯文本查看 复制代码
// 定义实际运行统计程序的路径,即pv.php的绝对路径
$path = '/www/xxx/xxx/pv.php';  
include('runpv.php');



(ps:runpv.php用了popen,所以要注意修改此处的$path,用popen是为了不阻塞正常页面的访问,曾经尝试过直接include('pv.php')文件,并发的情况下统计数据来不及写入数据库而阻塞,导致被统计页面无法正常响应,所以用多加了runpv.php去间接异步调用pv.php了。当然这种情况下统计数据肯定会有一定不准确,但总比因为一个统计导致页面挂了好吧~)


3 查询数据
可通过query.php注入SQL语句进行查询 任何人都能够注入SQL执行SELECT语句,但无法修改数据
可以自定义一个key来防止他人修改数据库,用这个key就可以执行一些敏感的语句(增删改)
[PHP] 纯文本查看 复制代码
example: 
         yourdomain/query.php?query=select * from table                               --> allow
         yourdomain/query.php?query=delete from table where id=1                      --> forbidden
         yourdomain/query.php?query=delete from table where id=1&key=yoursecret       --> allow
         yourdomain/query.php                                                         --> error



示例:

Gayhub地址



github:https://github.com/luvying/api-call-counter

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
散仙小健 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lloveyoutjq 发表于 2020-12-26 20:39
稍微不注意 你数据库表都没有了
萋小磊 发表于 2020-12-26 21:43
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表