Git Product home page Git Product logo

typecho-plugin-access's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

typecho-plugin-access's Issues

能否支持一下 CDN 转发的 IP 地址?

由于我的网站采用了 CloudFlare 作为防护,故本插件获得的原站 IP 都是 CF 的节点。我自己倒是发现 HTTP_X_FORWARDED_FOR 头是可以获取真实用户 IP 的,不知作者能否让插件支持一下~

功能建议

希望能加入 不记录特定ip的功能
我开启了网站检查
插件每次都会把检查的bot认作真人

UA不显示

我的访客显示UA为未知,点击未知后,显示的是空白,不显示具体UA
故障图

启动插件报错: ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

数据库用的mysql,启用插件时出现ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes错误.该错误是因为建立索引时, 索引太长,innodb索引的列最大长度只能是767字节.

  • 怎么看列长度? 举个例子:
    有个varchar(255)列,如果字符集是ut8(一个utf8字符最多要占用3个字节),那么列长度就是 255x3=765字节; 而比如说是ascii字符集(ascii一个字符一个字节), 那么就是255x1=255字节

在本项目的sql下mysql.sql文件中, 我们看到有个索引是这样声明的 KEY idx_ip_ua (ip,ua ), ip字段int占4个字节, 而ua为varchar(255),所以会不会超过就看字符集了. 为此有如下3中解决方案:

  • mysql.sql最后一行将charset=%charset%改成CHARSET=ascii, 这个表存储应该都是英文, 所以ascii字符集即可.但注意存中文会乱码(我想应该不会存中文吧)
  • 指定索引前缀即可, 比如改成 KEY idx_ip_ua (ip,ua (252) ), 这样就不会超了
  • 将mysql的innodb_large_prefix系统变量开启, 这样innodb的索引长度可以达到3072字节,但是只有表行格式为DYNAMIC 或COMPRESSED 有效,而且该功能在将来有可能被移除,所以不是很建议使用

以上,希望能帮到有遇到相同问题的gay友

无法使用

之前正常使用,升级Typecho1.2版本后就无法使用了,Php版本是7.2。启用插件显示 Argument 1 passed to _t() must be of the type string, null given, called in /www/wwwroot/askahh.com/usr/plugins/Access/Plugin.php on line 32 请问有解决方法吗?谢谢。

请问这个是后门吗

image
为什么我的url 等等回传到你的analysis 虽然你的服务器522了 为什么不在本地加载php和js

window.Access.track() 未定义

Rt.

2020 年安装的 Access 就存在这个问题,一直都没处理,昨天闲的无聊把这个插件更新了,发现这个问题还存在。求一下解决方案,谢谢。

image

PJAX 回调代码段

image

image

  • PHP: 7.4
  • SQL: MariaDB
  • Typecho: 1.2.0

  • OS: macOS Ventura 13.1
  • Browser: Safari

筛选后,生成的分页url不正确

进行筛选后,如果存在多页,除当前页外的其他url均不正确

 /*
    构造经典模式的分页
    当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
     */

疑似IPv6兼容问题

升级到2.0.2之后IP地址一栏经常有记录显示0.0.0.0,一直没有找到原因。近期突然意识到原来有很多IPv6的访客记录的,自升级之后就没有出现过,因此怀疑是IPv6访客记录显示为0.0.0.0。尚未对照服务器log验证,有时间我会确认一下的。如图:
https://i.imgur.com/zZxsIeJ.png

关于ipv6访问

怎么添加ipv6解析,我每个解析都是0.0.0.0.希望帮我看看

能够让其他用户看不到这个插件吗?

我发现每个用户组的都能看到这个插件,换句话说,只要是用户就没有看不到这个插件的,虽然用户不能对日志进行删除等更改,但是访问数据他们也能看到就很不爽,有没有办法让除管理员以外的用户组不能看到这个插件的显示呢?

插件用不了,只有我遇到这个问题?

Warning: require_once(/www/wwwroot/typecho//usr/plugins/Access/page/console.php): failed to open stream: No such file or directory in /www/wwwroot/typecho/admin/extending.php on line 13

Fatal error: require_once(): Failed opening required '/www/wwwroot/typecho//usr/plugins/Access/page/console.php' (include_path='.:/www/server/php/70/lib/php:/www/wwwroot/typecho/var:/www/wwwroot/typecho/usr/plugins') in /www/wwwroot/typecho/admin/extending.php on line 13

访问概览打不开

访问日志可以查看,访问概览打不开,显示 Call to undefined function cal_days_in_month() 请问这个如何解决?

Access控制台用户权限问题

普通的注册用户登录后台也能在控制台看到accss控制台选项并且查看访客记录,感觉最好默认只有管理员可以看到,其它权限账户不显示。

仍未解决的XSS储存型漏洞

想看看效果?

打开你的IE(Chrome自带转义), 然后访问:

http://127.0.0.1/typecho/index.php?<script>alert('test');</script>

然后访问后台

http://127.0.0.1/typecho/admin/extending.php?panel=Access%2Fpage%2Fconsole.php

建议:

在录入数据库的时候就对url进行转义.

(仅供参考)Access_Core.php:
行号: 213

        $rows = array(
            'ua' => htmlspecialchars($this->request->getAgent()),
            'url' => htmlspecialchars($url),
            'ip' => $ip,
            'referer' => htmlspecialchars($referer),
            'referer_domain' => parse_url($this->request->getReferer(), PHP_URL_HOST),
            'date' => $gtime,
        );

数据表建立失败,插件启用失败

数据表建立失败,插件启用失败,错误信息:SQLSTATE[HY000]: General error: 1 cannot commit - no transaction is active。

但是查看数据库(注:SQLite),数据表是存在的。在两个Typecho站点测试,得到同样的错误。
重新启用一次,之后可以正常使用。

访问概览打开报错

typecho 17.8.17
php 7.1.8
typecho使用pdo链接数据库
打开插件访问概览报如下错误,请问我该怎么修改sql查询语句?

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Typecho_Db_Query_Exception: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in /var/www/html/typecho/var/Typecho/Db/Adapter/Pdo.php:105
Stack trace:
#0 /var/www/html/typecho/var/Typecho/Db.php(354): Typecho_Db_Adapter_Pdo->query('SELECT COUNT(1)...', Object(PDO), 1, 'SELECT')
#1 /var/www/html/typecho/var/Typecho/Db.php(384): Typecho_Db->query(Object(Typecho_Db_Query), 1)
#2 /var/www/html/typecho/usr/plugins/Access/Access_Core.php(183): Typecho_Db->fetchAll(Object(Typecho_Db_Query))
#3 /var/www/html/typecho/usr/plugins/Access/Access_Core.php(47): Access_Core->parseOverview()
#4 /var/www/html/typecho/usr/plugins/Access/page/console.php(6): Access_Core->__construct()
#5 /var/www/html/typecho/admin/extending.php(13): require_once('/var/www/html/t...')
#6 {main}

一个小小的功能建议

随着访问次数越来越多, 日志越来越多. 每次备份数据表的时候占用空间也越来越大.

建议加入清理旧日志的功能. 因为现在如果你删除前面的(id所索引)记录的话, 统计就少了.一下子UV PV也被清掉了.

可以在表中增加一行, 例如id为1, 专门记录当前有多少个PV UV IP.每次插表的时候更新这个字段.

这样的话前面的记录删了之后也不会影响总IP PV UV的数量了.

过几天我研究一下实现方法. 有时间现学一下PHP

关于“昨天”和“今天”的 UV IP 统计不正确的问题

查看 Access_Core.php,发现“昨天”和“今天”的 UV IP 是通过分时段统计再相加得来的。这样,各小时内重复的数据会计算多次,造成错误。比如一个 IP 192.168.1.1 每个小时都访问网站,按理来说,一整天只算一次,但按现在累加的方法,这一天统计的 ip 192.168.1.1 会是 24 个。不知道我这样理解对不对?
2018-01-25_174737

Access控制台

Access控制台后台点击 404,啥问题?
TE版本是1.0正式版。

升级后问题

旧版本2.0.2下载最新的master,然后启用插件显示:Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8404992 bytes) in /wwwroot/web.com/var/Typecho/Db/Adapter/Pdo.php on line 102

不支持ipv6

打开首页提示 The Database not support IPv6 address.

1

1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.