start project

This commit is contained in:
Hemmat
2026-08-07 21:17:17 +03:30
commit ea1e1eead6
121 changed files with 8108 additions and 0 deletions
View File
+49
View File
@@ -0,0 +1,49 @@
"""Shared pytest fixtures (Chapter 12)."""
from __future__ import annotations
import os
import pytest
os.environ.setdefault("SECRET_KEY", "test-secret-key")
os.environ.setdefault("ADMIN_EMAIL", "admin@example.com")
from app import create_app
from app.extensions import db as _db
@pytest.fixture()
def app():
application = create_app("testing")
with application.app_context():
_db.create_all()
yield application
_db.session.remove()
_db.drop_all()
@pytest.fixture()
def client(app):
return app.test_client()
@pytest.fixture()
def db(app):
return _db
@pytest.fixture()
def logged_in_client(client, db):
from app.models.user import User
user = User(email="admin@example.com")
user.set_password("correct-horse-battery-staple")
db.session.add(user)
db.session.commit()
client.post(
"/login",
data={"email": "admin@example.com", "password": "correct-horse-battery-staple"},
follow_redirects=True,
)
return client
+66
View File
@@ -0,0 +1,66 @@
217.144.107.147 - - [03/Aug/2026:18:36:35 +0330] "GET /.well-known/acme-challenge/_WCVRZS2KDJ1PI3XRN9ND3KOP4G8Z1XR HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:18:36:35 +0330] "GET /.well-known/acme-challenge/6Q4INVYP09WEQOGW0E1V_VM2ZLXAQ83Z HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:18:36:35 +0330] "GET /.well-known/acme-challenge/ZWJNKAJ0PKOXEKXPMYK9EA-M4BJD88PG HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:18:36:35 +0330] "GET /.well-known/acme-challenge/TWW2IYC5JB2D2VC0ON_MOMMEDL8OK8BO HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:18:36:35 +0330] "GET /.well-known/acme-challenge/9A7MLQMZ4CQULTW-NCGK5GM84GEWNC5H HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:18:36:35 +0330] "GET /.well-known/acme-challenge/X61XHHEADFYG38YYNUM0RFSL_KN_P9T_ HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
99.82.230.203 - - [03/Aug/2026:20:34:28 +0330] "GET /cdn-cgi/trace HTTP/1.1" 404 34212 "-" "UA"
217.144.107.147 - - [03/Aug/2026:21:36:37 +0330] "GET /.well-known/acme-challenge/5V_X4R9CSIRPFO4-UW8LBT_VUE-VLIZT HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:21:36:37 +0330] "GET /.well-known/acme-challenge/HSL8HGHR9YVRAKBHB6CK376RV-2FAMRK HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:21:36:37 +0330] "GET /.well-known/acme-challenge/EY8CWEBBNZ003M2YK87PEBLYQR488DR- HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:21:36:37 +0330] "GET /.well-known/acme-challenge/IGL0QN08WZV2YIZCXCD73GIRDDETPRV2 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:21:36:37 +0330] "GET /.well-known/acme-challenge/09XOC8O4HDAZIAA38HZWQMXRQ4IR56-C HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [03/Aug/2026:21:36:37 +0330] "GET /.well-known/acme-challenge/IHP7JZ8RKZC3F2CI-LZQN61IZ4RTLG06 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
91.231.89.102 - - [03/Aug/2026:23:34:47 +0330] "GET / HTTP/1.1" 200 8462 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
217.144.107.147 - - [04/Aug/2026:00:36:40 +0330] "GET /.well-known/acme-challenge/32D8S8RZ1X3U6QN0YIFMZUGVMHGQ6SER HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:00:36:40 +0330] "GET /.well-known/acme-challenge/RZ2IO_ZLUT16-VPDVP0DNM4_9S8QZ5BY HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:00:36:40 +0330] "GET /.well-known/acme-challenge/CFU9A7L3HVTNBI-5WH4TF60AYT-DXOIH HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:00:36:40 +0330] "GET /.well-known/acme-challenge/TPIVZFAJM2BYRHJI89G8N_WB4AIGTDSG HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:00:36:40 +0330] "GET /.well-known/acme-challenge/VJ_0DV2NN1W21SDI3VEEESEXN-_M3O__ HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:00:36:40 +0330] "GET /.well-known/acme-challenge/_E4SYH_L0LLKIKXYJLPF6A_WEJN5QKZL HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
192.71.224.103 - - [04/Aug/2026:03:28:57 +0330] "GET / HTTP/1.1" 200 8462 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.1"
217.144.107.147 - - [04/Aug/2026:03:36:39 +0330] "GET /.well-known/acme-challenge/NS_B9P5A3JQY48JUX7JELLJQQ3WZ_AO7 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:03:36:39 +0330] "GET /.well-known/acme-challenge/_4ZW6I_JJ1UG180MUTJA3VIR6ABVG4EO HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:03:36:39 +0330] "GET /.well-known/acme-challenge/86AB958PO2043AXP4YFCVR9RYTSYX3H6 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:03:36:39 +0330] "GET /.well-known/acme-challenge/6VPAM0LUHDNTWL-5WGUBNE-M9MXH1W29 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:03:36:39 +0330] "GET /.well-known/acme-challenge/5E70O5EX2EQH0HKY6A5PTRQ9DST7XIM5 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:03:36:39 +0330] "GET /.well-known/acme-challenge/GNQBO35VPSI-0YRSMRPF_9A5TVEFI-ER HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
54.211.2.94 - - [04/Aug/2026:06:11:43 +0330] "GET / HTTP/1.1" 301 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
52.3.206.35 - - [04/Aug/2026:06:11:44 +0330] "GET / HTTP/1.1" 200 8462 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
217.144.107.147 - - [04/Aug/2026:06:36:36 +0330] "GET /.well-known/acme-challenge/O5PQIUHN36WYMHCCWCQOF0K9BWTZZQYK HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:06:36:36 +0330] "GET /.well-known/acme-challenge/MXIP10TBOY_XHT_GPJL0X9LWYSSZIIZE HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:06:36:36 +0330] "GET /.well-known/acme-challenge/CTJSY2E-W2-2C91DLV4WBJXYFK9X56KP HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:06:36:36 +0330] "GET /.well-known/acme-challenge/PTIB4X92HEBCG77Y82VKMNX9R_5VJ8TM HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:06:36:36 +0330] "GET /.well-known/acme-challenge/UQNVW7DYDVTX_2M0NXF52Q1SNZ-9M_01 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:06:36:36 +0330] "GET /.well-known/acme-challenge/AO64KNXN2CFPSWWG3FJRWDUQYH29RAF2 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
66.249.77.161 - - [04/Aug/2026:08:49:08 +0330] "GET /robots.txt HTTP/1.1" 200 92 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
149.56.150.11 - - [04/Aug/2026:09:35:07 +0330] "GET / HTTP/1.1" 200 24878 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:15 +0330] "GET /ads.txt HTTP/1.1" 404 34212 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:16 +0330] "GET / HTTP/1.1" 200 24878 "-" "Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36"
149.56.150.11 - - [04/Aug/2026:09:35:18 +0330] "GET /.well-known/security.txt HTTP/1.1" 404 34212 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:19 +0330] "GET /llms.txt HTTP/1.1" 404 34212 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:20 +0330] "GET /humans.txt HTTP/1.1" 404 34212 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:38 +0330] "GET / HTTP/1.1" 200 8462 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:39 +0330] "GET /wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=efaa5193bbad9c60ffd1 HTTP/1.1" 200 16573 "http://hemmatitasks.ir/" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:40 +0330] "GET /wp-content/themes/twentytwentyfive/assets/fonts/manrope/Manrope-VariableFont_wght.woff2 HTTP/1.1" 200 53600 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:40 +0330] "GET /wp-includes/js/wp-emoji-release.min.js?ver=7.0.2 HTTP/1.1" 200 6237 "http://hemmatitasks.ir/" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:40 +0330] "GET / HTTP/1.1" 200 14503 "http://hemmatitasks.ir/" "Mozilla/5.0 (compatible; Dataprovider.com)"
217.144.107.147 - - [04/Aug/2026:09:36:38 +0330] "GET /.well-known/acme-challenge/CQG8EAYF0B7KWLC0X84A7ZRPZKEVRZ1N HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:09:36:38 +0330] "GET /.well-known/acme-challenge/9IGU40Q_SED9VGS70SMM-PC2K-C5B4RC HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:09:36:38 +0330] "GET /.well-known/acme-challenge/804GXVXFTXADP-0FF4F09BP8DWSEXK0R HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
149.56.150.11 - - [04/Aug/2026:09:35:05 +0330] "GET / HTTP/1.1" 301 0 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:07 +0330] "GET /robots.txt HTTP/1.1" 200 116 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:16 +0330] "GET /security.txt HTTP/1.1" 404 34212 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:37 +0330] "GET / HTTP/1.1" 301 0 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:39 +0330] "GET /wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=96a846e1d7b789c39ab9 HTTP/1.1" 200 1165 "http://hemmatitasks.ir/" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:40 +0330] "POST /wp-content/plugins/litespeed-cache/guest.vary.php HTTP/1.1" 200 36 "http://hemmatitasks.ir/" "Mozilla/5.0 (compatible; Dataprovider.com)"
217.144.107.147 - - [04/Aug/2026:09:36:38 +0330] "GET /.well-known/acme-challenge/HORP-KPI92FQFJMSNS2DDL_JTQRX2D8- HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:09:36:38 +0330] "GET /.well-known/acme-challenge/T010K1PEH75EK3L2N4JA0I-0H2TTSYTQ HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:09:36:38 +0330] "GET /.well-known/acme-challenge/_-HHHT9VYVZ7F2K7ABL76X6H-VPVCW14 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
199.244.88.227 - - [04/Aug/2026:11:36:49 +0330] "GET / HTTP/1.1" 200 8462 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"
217.144.107.147 - - [04/Aug/2026:12:36:30 +0330] "GET /.well-known/acme-challenge/OCZKTQ313TK29NZTZBN3DK0EVLF9GY1L HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:12:36:30 +0330] "GET /.well-known/acme-challenge/9_J1E_ZSZT8X13OMB8ZL5ZXU9HI2FHP7 HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:12:36:30 +0330] "GET /.well-known/acme-challenge/91DL1NOFC9CDTK3W4-0C4D6662J7-V__ HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:12:36:31 +0330] "GET /.well-known/acme-challenge/U6CK5JUQFVOIIO1DK402RVVXGSV_SKKL HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:12:36:30 +0330] "GET /.well-known/acme-challenge/JW4KG37CSJZAPP2A906SUXL0009MST__ HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
217.144.107.147 - - [04/Aug/2026:12:36:30 +0330] "GET /.well-known/acme-challenge/Z2XMQ767KXZQE-W8K8J-J3FBYCC3QMZT HTTP/1.1" 200 64 "-" "Cpanel-HTTP-Client/1.0"
+222
View File
@@ -0,0 +1,222 @@
4.227.216.131 - - [03/Aug/2026:17:17:59 +0330] "GET / HTTP/1.1" 200 7815 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:47 +0330] "GET / HTTP/1.1" 200 41935 "-" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:48 +0330] "GET /wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:48 +0330] "GET /wp-includes/js/hoverintent-js.min.js?ver=2.2.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:48 +0330] "GET /wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=efaa5193bbad9c60ffd1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:48 +0330] "GET /wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=96a846e1d7b789c39ab9 HTTP/1.1" 304 0 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:48 +0330] "GET /favicon.ico HTTP/1.1" 404 796 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:51 +0330] "GET /wp-admin/ HTTP/1.1" 200 47877 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-admin/js/site-health.min.js?ver=7.0.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-admin/js/edit-comments.min.js?ver=7.0.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/jquery/jquery.ui.touch-punch.js?ver=0.2.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/jquery/jquery.color.min.js?ver=3.0.0 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/jquery/ui/sortable.min.js?ver=1.13.3 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-content/plugins/litespeed-cache/assets/js/litespeed-cache-admin.js?ver=7.8.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:41:04 +0330] "GET /wp-content/plugins/litespeed-cache/assets/js/iziModal.min.js?ver=7.8.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/plugins.php" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/underscore.min.js?ver=1.13.8 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/clipboard.min.js?ver=2.0.11 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/jquery/ui/core.min.js?ver=1.13.3 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/dist/vendor/moment.min.js?ver=2.30.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/jquery/ui/mouse.min.js?ver=1.13.3 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/dist/vendor/react.min.js?ver=18.3.1.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/dist/vendor/react-jsx-runtime.min.js?ver=18.3.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/jquery/jquery.query.js?ver=2.2.3 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/jquery/ui/autocomplete.min.js?ver=1.13.3 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:40:52 +0330] "GET /wp-includes/js/jquery/ui/menu.min.js?ver=1.13.3 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:41:01 +0330] "GET /wp-admin/plugins.php HTTP/1.1" 200 44312 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:00 +0330] "GET /wp-admin/admin.php?page=WordfenceScan HTTP/1.1" 200 73503 "https://hemmatitasks.ir/wp-admin/plugins.php" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:04 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 47 "https://hemmatitasks.ir/wp-admin/plugins.php" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:05 +0330] "GET /wp-content/plugins/wordfence/css/wf-ionicons.1778685035.css?ver=8.2.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:05 +0330] "GET /wp-content/plugins/wordfence/css/wf-roboto-font.1778685035.css?ver=8.2.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:05 +0330] "GET /wp-content/plugins/wordfence/css/license/free.1778685035.css?ver=7.0.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:05 +0330] "GET /wp-content/plugins/wordfence/css/main.1778685035.css?ver=8.2.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:09 +0330] "GET /wp-content/plugins/wordfence/js/wfdropdown.1778685035.js?ver=8.2.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:14 +0330] "GET /wp-content/plugins/wordfence/fonts/roboto-KFOlCnqEu92Fr1MmWUlfBBc-AMP6lQ.woff HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-content/plugins/wordfence/css/wf-roboto-font.1778685035.css?ver=8.2.2" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:19 +0330] "GET /wp-content/plugins/wordfence/js/vue.esm-browser.prod.1778685035.js HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-content/plugins/wordfence/js/wordfence.1778685035.js?ver=8.2.2" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:44:54 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 139402 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:03 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 850 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:05 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 976 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:02 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 99 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:07 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 1114 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:13 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 986 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:15 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 3073 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:09 +0330] "GET /wp-content/plugins/wordfence/js/jquery.qrcode.min.1778685035.js?ver=8.2.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:09 +0330] "GET /wp-content/plugins/wordfence/js/admin.1778685035.js?ver=8.2.2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:09 +0330] "GET /wp-content/plugins/wordfence/js/wordfence.1778685035.js?ver=8.2.2 HTTP/1.1" 200 337450 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:42:14 +0330] "GET /wp-content/plugins/wordfence/fonts/roboto-KFOlCnqEu92Fr1MmSU5fBBc-AMP6lQ.woff HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-content/plugins/wordfence/css/wf-roboto-font.1778685035.css?ver=8.2.2" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:44:54 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 47 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
217.144.107.147 - - [03/Aug/2026:17:45:04 +0330] "POST /wp-admin/admin-ajax.php?action=wordfence_testAjax HTTP/1.1" 200 16 "-" "WordPress/7.0.2; https://hemmatitasks.ir"
5.122.147.240 - - [03/Aug/2026:17:45:09 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 978 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:16 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 51 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:17 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 791 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:45:21 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 3139 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
217.144.107.147 - - [03/Aug/2026:17:45:29 +0330] "GET /.user.ini HTTP/1.1" 403 787 "-" "WordPress/7.0.2; https://hemmatitasks.ir"
5.122.147.240 - - [03/Aug/2026:17:45:55 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 47 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:13 +0330] "GET /?_wfsf=viewActivityLog&nonce=aba6fb1140 HTTP/1.1" 200 9827 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:13 +0330] "GET /wp-content/plugins/wordfence/css/fullLog.1778685035.css?ver=8.2.2 HTTP/1.1" 200 178 "https://hemmatitasks.ir/?_wfsf=viewActivityLog&nonce=aba6fb1140" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:14 +0330] "GET /wp-content/plugins/wordfence/images/wordfence-logo.svg HTTP/1.1" 200 1115 "https://hemmatitasks.ir/wp-content/plugins/wordfence/css/fullLog.1778685035.css?ver=8.2.2" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:31 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:33 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:35 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:41 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:47 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:51 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:54 +0330] "GET /wp-admin/plugins.php HTTP/1.1" 200 44313 "https://hemmatitasks.ir/wp-admin/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:57 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 47 "https://hemmatitasks.ir/wp-admin/plugins.php" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:49:05 +0330] "GET /wp-admin/admin.php?page=litespeed-db_optm HTTP/1.1" 200 39057 "https://hemmatitasks.ir/wp-admin/plugins.php" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:51:08 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 47 "https://hemmatitasks.ir/wp-admin/admin.php?page=litespeed-db_optm" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
217.144.107.147 - - [03/Aug/2026:18:00:07 +0330] "POST /wp-admin/admin-ajax.php?action=wordfence_testAjax HTTP/1.1" 200 16 "-" "WordPress/7.0.2; https://hemmatitasks.ir"
217.144.107.147 - - [03/Aug/2026:18:00:27 +0330] "GET /.user.ini HTTP/1.1" 403 787 "-" "WordPress/7.0.2; https://hemmatitasks.ir"
217.144.107.147 - - [03/Aug/2026:18:00:09 +0330] "GET /wp-admin/admin-ajax.php?action=wordfence_doScan&isFork=0&scanMode=standard&cronKey=cc477cc6b1e8aa124e4e7ce8c0fdefee&signature=9608c4678c00370e7b5718e32cab7dc44186236c995dfa2ef377883cb9a7a55b HTTP/1.1" 200 0 "-" "WordPress/7.0.2; https://hemmatitasks.ir"
5.122.147.240 - - [03/Aug/2026:17:45:19 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 791 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
217.144.107.147 - - [03/Aug/2026:17:45:05 +0330] "GET /wp-admin/admin-ajax.php?action=wordfence_doScan&isFork=0&scanMode=standard&cronKey=31c1741cb90a26d64730351ec51687b8&signature=8a8d5b13b0d1956c53dc6942460b1475ccb851a64485a6299dbfb5ceff605e93 HTTP/1.1" 200 0 "-" "WordPress/7.0.2; https://hemmatitasks.ir"
5.122.147.240 - - [03/Aug/2026:17:48:09 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 47 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:09 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 15133 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:11 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:37 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:39 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:43 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:45 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:49 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:53 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 936 "https://hemmatitasks.ir/wp-admin/admin.php?page=WordfenceScan" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:48:59 +0330] "GET /wp-admin/plugin-install.php?tab=plugin-information&plugin=litespeed-cache& HTTP/1.1" 200 56170 "https://hemmatitasks.ir/wp-admin/plugins.php" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.122.147.240 - - [03/Aug/2026:17:50:07 +0330] "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 47 "https://hemmatitasks.ir/wp-admin/admin.php?page=litespeed-db_optm" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
4.227.216.131 - - [03/Aug/2026:18:11:26 +0330] "GET / HTTP/1.1" 200 7825 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
104.210.140.140 - - [03/Aug/2026:19:04:01 +0330] "GET /robots.txt HTTP/1.1" 200 92 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot"
5.237.229.213 - - [03/Aug/2026:19:53:44 +0330] "GET /favicon.ico HTTP/1.1" 404 796 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
5.237.229.213 - - [03/Aug/2026:19:53:43 +0330] "GET / HTTP/1.1" 200 41936 "-" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
4.227.216.131 - - [03/Aug/2026:21:31:58 +0330] "GET / HTTP/1.1" 301 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"
4.227.216.131 - - [03/Aug/2026:21:32:00 +0330] "GET / HTTP/1.1" 200 7815 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"
151.235.236.207 - - [03/Aug/2026:21:43:07 +0330] "GET / HTTP/1.1" 200 12446 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:09 +0330] "POST /login/?login_only=1 HTTP/1.1" 200 108 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:10 +0330] "GET /cpsess0582844268/?=undefined&login=1&post_login=51605214489983 HTTP/1.1" 302 182 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cpsess0582844268/frontend/jupiter/css/base_overrides.min.css HTTP/1.1" 200 2090 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785623774/frontend/jupiter/core/web-components/dist/jupiter-web-components.cmb.min.js?locale=en&locale_optional=1&locale_revision=1785623858 HTTP/1.1" 200 222403 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785713522/frontend/jupiter/assets/application_icons/sprites/icon_spritemap.png?102678a567236ee908ad3c0ca91143b5988e4a79e19c2fcd7561dced7a2080f2_4.0 HTTP/1.1" 200 17110 "https://cpanel.hemmatitasks.ir/cPanel_magic_revision_1785713522/frontend/jupiter/assets/application_icons/sprites/icon_spritemap.css" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785713522/frontend/jupiter/assets/application_icons/sprites/icon_spritemap.svg?102678a567236ee908ad3c0ca91143b5988e4a79e19c2fcd7561dced7a2080f2_4.0 HTTP/1.1" 200 69634 "https://cpanel.hemmatitasks.ir/cPanel_magic_revision_1785713522/frontend/jupiter/assets/application_icons/sprites/icon_spritemap.css" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "POST /cpsess0582844268/execute/Personalization/get HTTP/1.1" 200 202 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cpsess0582844268/frontend/jupiter/assets/brand/cP_orange.png HTTP/1.1" 200 5972 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/libraries/cjt2-dist/plugins/locale.js HTTP/1.1" 200 1736 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/tools/index.cmb.min.js?locale_optional=1&locale=en&locale_revision=1785623858 HTTP/1.1" 200 14080 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cpsess0582844268/execute/Notifications/get_notifications_count HTTP/1.1" 200 82 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:12 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/libraries/lodash/4.8.2/lodash.min.js HTTP/1.1" 200 22697 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:12 +0330] "GET /cpsess0582844268/frontend/jupiter/images/spinner.gif HTTP/1.1" 200 1849 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:10 +0330] "GET /cpsess0582844268/frontend/jupiter/index.html?=undefined&login=1&post_login=51605214489983 HTTP/1.1" 200 48445 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785713522/frontend/jupiter/assets/application_icons/sprites/icon_spritemap.css HTTP/1.1" 200 2212 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785623195/frontend/jupiter/core/main_content/main_content_spacing.min.css HTTP/1.1" 200 475 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cpsess0582844268/frontend/jupiter/assets/brand/favicon.ico HTTP/1.1" 200 661 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/tools/index.dist.min.js?locale_optional=1&locale=en&locale_revision=1785623858 HTTP/1.1" 200 151 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/libraries/cjt2-dist/cjt2.cpanel.cmb.min.js?locale=en&locale_revision=1785623858 HTTP/1.1" 200 91441 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:11 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/libraries/cjt2-dist/frameworks.cmb.js HTTP/1.1" 200 210788 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:12 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/_assets/master.min.js?locale_optional=1&locale=en&locale_revision=1785623858 HTTP/1.1" 200 76 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:12 +0330] "POST /cpsess0582844268/execute/Personalization/get HTTP/1.1" 200 162 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1759646866/cjt/cjt-min.js?locale=en&locale_optional=1&locale_revision=1785623858 HTTP/1.1" 200 47210 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1785624208/3rdparty/cloudlinux/assets/static/common-styles.css HTTP/1.1" 200 64521 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1785624207/3rdparty/cloudlinux/assets/js/resource_usage_config.js HTTP/1.1" 200 273 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1785624208/3rdparty/cloudlinux/assets/static/polyfills.bundle.min.js?v=7.11.31-1 HTTP/1.1" 200 51419 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1785624207/3rdparty/cloudlinux/assets/static/resource_usage.bundle.min.js?v=7.11.31-1 HTTP/1.1" 200 21933 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:12 +0330] "POST /cpsess0582844268/execute/Resellers/list_accounts HTTP/1.1" 200 155 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:12 +0330] "POST /cpsess0582844268/execute/Themes/list HTTP/1.1" 200 107 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:12 +0330] "POST /cpsess0582844268/execute/ResourceUsage/get_usages HTTP/1.1" 200 702 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:19 +0330] "GET /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl HTTP/1.1" 200 30313 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1785624207/3rdparty/cloudlinux/assets/css/lvemanager.css HTTP/1.1" 200 1112 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1785624207/3rdparty/cloudlinux/assets/js/common.js HTTP/1.1" 200 561 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1785624208/3rdparty/cloudlinux/assets/static/common.bundle.min.js?v=7.11.31-1 HTTP/1.1" 200 280855 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:21 +0330] "GET /cpsess0582844268/3rdparty/cloudlinux/assets/i18n/en-en.json HTTP/1.1" 200 14792 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:32 +0330] "POST /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=sendRequest HTTP/1.1" 200 681 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:32 +0330] "POST /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=sendRequest HTTP/1.1" 200 44969 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:36 +0330] "POST /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=sendRequest HTTP/1.1" 200 229 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:41 +0330] "GET /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=knockKnock HTTP/1.1" 200 20 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:43 +0330] "GET /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=knockKnock HTTP/1.1" 200 20 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:45:27 +0330] "GET /cpsess0582844268/3rdparty/cloudlinux/assets/i18n/en-en.json HTTP/1.1" 200 14792 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:45:28 +0330] "GET /cpsess0582844268/execute/Notifications/get_notifications_count HTTP/1.1" 200 82 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:45:27 +0330] "POST /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=sendRequest HTTP/1.1" 200 298 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:45:29 +0330] "POST /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=sendRequest HTTP/1.1" 200 33 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:45:37 +0330] "GET /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=knockKnock HTTP/1.1" 200 20 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:20 +0330] "GET /cPanel_magic_revision_1785624207/3rdparty/cloudlinux/assets/static/vendor.bundle.min.js?v=7.11.31-1 HTTP/1.1" 200 729136 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:22 +0330] "GET /cpsess0582844268/execute/Notifications/get_notifications_count HTTP/1.1" 200 82 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:22 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/_assets/master.cmb.min.js?locale_optional=1&locale=en&locale_revision=1785623858 HTTP/1.1" 200 30940 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:21 +0330] "POST /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=sendRequest HTTP/1.1" 200 298 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:24 +0330] "POST /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=sendRequest HTTP/1.1" 200 809 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:30 +0330] "GET /cpsess0582844268/frontend/jupiter/terminal/index.html HTTP/1.1" 200 25565 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:31 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/terminal/index.dist.min.js?locale_optional=1&locale=en&locale_revision=1785623858 HTTP/1.1" 200 151 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:31 +0330] "GET /cPanel_magic_revision_1785623770/frontend/jupiter/terminal/index.cmb.min.js?locale_optional=1&locale=en&locale_revision=1785623858 HTTP/1.1" 200 394 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:31 +0330] "GET /cpsess0582844268/execute/Notifications/get_notifications_count HTTP/1.1" 200 82 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:31 +0330] "POST /cpsess0582844268/execute/Personalization/get HTTP/1.1" 200 162 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:31 +0330] "GET /cpsess0582844268/websocket/Shell?rows=24&cols=148 HTTP/1.1" 101 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:31 +0330] "GET /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=knockKnock HTTP/1.1" 200 20 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:42 +0330] "GET /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=knockKnock HTTP/1.1" 200 20 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:43:32 +0330] "POST /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl?cgiaction=sendRequest HTTP/1.1" 200 1694 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [03/Aug/2026:21:45:25 +0330] "GET /cpsess0582844268/frontend/jupiter/resource_usage/resource_usage.live.pl HTTP/1.1" 200 30343 "https://cpanel.hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
193.123.91.227 - - [03/Aug/2026:22:03:10 +0330] "GET / HTTP/1.1" 200 7815 "-" "understory/0.1 (CT research; https://github.com/0x4b) +contact-via-repo"
138.201.115.22 - - [03/Aug/2026:22:46:00 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
166.88.182.92 - - [03/Aug/2026:22:46:00 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
185.186.79.61 - - [03/Aug/2026:22:46:01 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
185.186.77.224 - - [03/Aug/2026:22:46:02 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
168.222.245.105 - - [03/Aug/2026:22:46:02 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
38.180.6.107 - - [03/Aug/2026:22:46:03 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
91.148.134.234 - - [03/Aug/2026:22:46:03 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
146.19.196.8 - - [03/Aug/2026:22:46:05 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
37.139.52.142 - - [03/Aug/2026:22:46:06 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
102.211.56.24 - - [03/Aug/2026:22:46:09 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
166.88.239.157 - - [03/Aug/2026:22:46:14 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
88.210.37.11 - - [03/Aug/2026:22:45:59 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
179.60.148.4 - - [03/Aug/2026:22:46:00 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
188.116.20.74 - - [03/Aug/2026:22:46:00 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
45.154.205.227 - - [03/Aug/2026:22:46:00 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
92.118.124.218 - - [03/Aug/2026:22:46:01 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
193.201.15.104 - - [03/Aug/2026:22:46:01 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
195.133.51.125 - - [03/Aug/2026:22:46:02 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
38.180.22.172 - - [03/Aug/2026:22:46:02 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
37.1.208.70 - - [03/Aug/2026:22:46:04 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
166.88.197.104 - - [03/Aug/2026:22:46:06 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
181.215.15.177 - - [03/Aug/2026:22:46:06 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
194.58.34.114 - - [03/Aug/2026:22:46:10 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
185.126.237.171 - - [03/Aug/2026:22:46:15 +0330] "GET / HTTP/1.1" 200 7815 "https://www.host-tracker.com/InstantCheck/ResultComplete/f3c08065-4692-446f-bac7-b9eab6179e91" "Mozilla/5.0 (compatible; HostTracker/2.0; +https://www.host-tracker.com/)"
66.249.77.160 - - [04/Aug/2026:00:29:19 +0330] "GET /?feed=comments-rss2 HTTP/1.1" 301 0 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.7871.186 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.77.168 - - [04/Aug/2026:00:29:25 +0330] "GET /comments/feed/ HTTP/1.1" 200 1624 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.7871.186 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
91.99.167.254 - - [04/Aug/2026:00:38:44 +0330] "GET / HTTP/1.1" 200 41933 "-" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
91.99.167.254 - - [04/Aug/2026:00:38:46 +0330] "GET /wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
91.99.167.254 - - [04/Aug/2026:00:38:46 +0330] "GET /wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=96a846e1d7b789c39ab9 HTTP/1.1" 304 0 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
91.99.167.254 - - [04/Aug/2026:00:38:46 +0330] "GET /wp-includes/js/hoverintent-js.min.js?ver=2.2.1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
91.99.167.254 - - [04/Aug/2026:00:38:46 +0330] "GET /wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=efaa5193bbad9c60ffd1 HTTP/1.1" 304 0 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
91.99.167.254 - - [04/Aug/2026:00:38:46 +0330] "GET /favicon.ico HTTP/1.1" 404 796 "https://hemmatitasks.ir/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36"
135.136.51.71 - - [04/Aug/2026:00:48:40 +0330] "GET / HTTP/1.1" 200 7815 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
135.136.51.71 - - [04/Aug/2026:00:48:41 +0330] "GET /favicon.ico HTTP/1.1" 404 796 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
66.249.77.168 - - [04/Aug/2026:01:31:23 +0330] "GET /robots.txt HTTP/1.1" 200 92 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.77.169 - - [04/Aug/2026:01:31:23 +0330] "GET /home/ HTTP/1.1" 404 9949 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.7871.186 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
163.7.12.80 - - [04/Aug/2026:03:02:47 +0330] "GET /wp-json/batch/v1 HTTP/1.1" 404 114 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
163.7.12.80 - - [04/Aug/2026:03:02:48 +0330] "GET /?rest_route=/batch/v1 HTTP/1.1" 404 114 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
163.7.12.80 - - [04/Aug/2026:03:02:46 +0330] "GET / HTTP/1.1" 200 24883 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
163.7.12.80 - - [04/Aug/2026:03:02:50 +0330] "POST /?rest_route=/batch/v1 HTTP/1.1" 207 414 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
40.87.20.23 - - [04/Aug/2026:03:27:49 +0330] "GET / HTTP/1.1" 200 7815 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
192.71.142.232 - - [04/Aug/2026:03:28:58 +0330] "GET /category/uncategorized/ HTTP/1.1" 200 8531 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.1"
192.71.126.245 - - [04/Aug/2026:03:28:57 +0330] "GET /hello-world/ HTTP/1.1" 200 10319 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.1"
192.71.126.53 - - [04/Aug/2026:03:28:58 +0330] "GET /hello-world/?replytocom=1 HTTP/1.1" 200 10325 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.1"
217.144.107.147 - - [04/Aug/2026:06:17:57 +0330] "GET /wp-content/plugins/siteleads/build/frontend/widgets/style-index.css HTTP/1.1" 404 9950 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
217.144.107.147 - - [04/Aug/2026:06:17:54 +0330] "POST / HTTP/1.1" 200 12177 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
217.144.107.147 - - [04/Aug/2026:07:00:08 +0330] "GET /wp-admin/admin-ajax.php?action=wordfence_doScan&isFork=0&scanMode=quick&cronKey=6a6ef38228775d4cde2fa1962702e9d8&signature=1db3bce97ce318a67d0a9802ffdfa624ab17b77398a45d1473b96eb7acdef98b HTTP/1.1" 200 0 "-" "WordPress/7.0.2; https://hemmatitasks.ir"
217.144.107.147 - - [04/Aug/2026:07:00:07 +0330] "POST /wp-admin/admin-ajax.php?action=wordfence_testAjax HTTP/1.1" 200 16 "-" "WordPress/7.0.2; https://hemmatitasks.ir"
149.56.150.11 - - [04/Aug/2026:09:35:09 +0330] "GET / HTTP/1.1" 200 24883 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:10 +0330] "GET /hello-world/ HTTP/1.1" 200 31692 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:13 +0330] "GET /category/uncategorized/ HTTP/1.1" 200 25212 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:42 +0330] "GET / HTTP/1.1" 301 0 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:44 +0330] "GET / HTTP/1.1" 200 7815 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:45 +0330] "GET /robots.txt HTTP/1.1" 301 0 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:46 +0330] "GET /robots.txt HTTP/1.1" 200 92 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:08 +0330] "GET /wp-sitemap.xml HTTP/1.1" 200 461 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:09 +0330] "GET / HTTP/1.1" 200 24883 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:11 +0330] "GET /author/admin/ HTTP/1.1" 200 25157 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.11 - - [04/Aug/2026:09:35:14 +0330] "GET /hello-world/?replytocom=1 HTTP/1.1" 200 31737 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:39 +0330] "GET /wp-content/litespeed/css/852b580ad43ac33c803b301d1773b7cb.css?ver=042a5 HTTP/1.1" 200 7168 "http://hemmatitasks.ir/" "Mozilla/5.0 (compatible; Dataprovider.com)"
149.56.150.129 - - [04/Aug/2026:09:35:47 +0330] "OPTIONS / HTTP/1.1" 200 0 "-" "Mozilla/5.0 (compatible; Dataprovider.com)"
66.249.77.169 - - [04/Aug/2026:10:54:38 +0330] "GET /cart/ HTTP/1.1" 404 9949 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.7871.186 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
151.235.236.207 - - [04/Aug/2026:11:26:07 +0330] "POST /wp-content/plugins/litespeed-cache/guest.vary.php HTTP/1.1" 200 20 "https://hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [04/Aug/2026:11:26:07 +0330] "GET /favicon.ico HTTP/1.1" 404 796 "https://hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [04/Aug/2026:11:26:08 +0330] "GET / HTTP/1.1" 200 14502 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [04/Aug/2026:11:26:08 +0330] "GET /wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=96a846e1d7b789c39ab9 HTTP/1.1" 200 999 "https://hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [04/Aug/2026:11:26:08 +0330] "GET /favicon.ico HTTP/1.1" 404 796 "https://hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [04/Aug/2026:11:26:07 +0330] "GET / HTTP/1.1" 200 7815 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [04/Aug/2026:11:26:07 +0330] "GET /wp-content/themes/twentytwentyfive/assets/fonts/manrope/Manrope-VariableFont_wght.woff2 HTTP/1.1" 304 0 "https://hemmatitasks.ir/wp-content/litespeed/css/a6926f33abbb423cd982469391e2a8d4.css?ver=042a5" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [04/Aug/2026:11:26:08 +0330] "GET /wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=efaa5193bbad9c60ffd1 HTTP/1.1" 200 14887 "https://hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
151.235.236.207 - - [04/Aug/2026:11:26:08 +0330] "GET /wp-content/themes/twentytwentyfive/assets/fonts/manrope/Manrope-VariableFont_wght.woff2 HTTP/1.1" 200 53600 "https://hemmatitasks.ir/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+52
View File
@@ -0,0 +1,52 @@
"""Regression coverage for the no-cron simplification (Chapter 12): a
real upload through the HTTP endpoint should reach status "done" on its
own, via the automatic background thread, without any `flask
process-logs` invocation — cron/CLI is optional, not required.
"""
from __future__ import annotations
import io
import time
from app.models.bot_hit import BotHit
from app.models.log_entry import LogEntry
from app.models.log_file import LogFile
SAMPLE_LOG = (
b'203.0.113.10 - - [15/Jul/2026:10:00:00 -0700] "GET /index.html HTTP/1.1" 200 512 '
b'"https://example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0"\n'
b'203.0.113.11 - - [15/Jul/2026:10:00:05 -0700] "GET /about HTTP/1.1" 200 300 '
b'"-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"\n'
)
def test_upload_processes_automatically_without_cron(logged_in_client):
resp = logged_in_client.post(
"/uploads",
data={
"logfile": (io.BytesIO(SAMPLE_LOG), "sample.log"),
"server_type": "apache",
"format_string": "",
},
content_type="multipart/form-data",
)
assert resp.status_code == 200
log_file = LogFile.query.order_by(LogFile.id.desc()).first()
assert log_file is not None
# No `flask process-logs` call anywhere in this test — only the
# background thread triggered by the upload itself should advance it.
deadline = time.time() + 5
while time.time() < deadline:
from app.extensions import db
db.session.refresh(log_file)
if log_file.status in ("done", "error"):
break
time.sleep(0.1)
assert log_file.status == "done", f"expected done, got {log_file.status}: {log_file.error_message}"
assert log_file.total_lines == 2
assert log_file.processed_lines == 2
assert LogEntry.query.filter_by(log_file_id=log_file.id).count() == 2
assert BotHit.query.filter_by(log_file_id=log_file.id).count() == 1
+32
View File
@@ -0,0 +1,32 @@
"""Bot identification tests (Chapter 07/12)."""
from __future__ import annotations
from app.services import bot_identifier
def test_classify_bot_detects_googlebot():
ua = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
assert bot_identifier.classify_bot(ua) == "Googlebot"
def test_classify_bot_returns_none_for_ordinary_browser():
ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0"
assert bot_identifier.classify_bot(ua) is None
def test_classify_bot_returns_none_for_empty_ua():
assert bot_identifier.classify_bot(None) is None
def test_verify_bot_ip_rejects_when_ptr_lookup_fails(monkeypatch):
def fake_gethostbyaddr(ip):
raise OSError("no PTR record")
monkeypatch.setattr("socket.gethostbyaddr", fake_gethostbyaddr)
assert bot_identifier.verify_bot_ip("203.0.113.5", "Googlebot") is False
def test_verify_bot_ip_accepts_matching_forward_and_reverse(monkeypatch):
monkeypatch.setattr("socket.gethostbyaddr", lambda ip: ("crawl-1-2-3-4.googlebot.com", [], []))
monkeypatch.setattr("socket.gethostbyname_ex", lambda host: (host, [], ["1.2.3.4"]))
assert bot_identifier.verify_bot_ip("1.2.3.4", "Googlebot") is True
+151
View File
@@ -0,0 +1,151 @@
"""Regression coverage for uploaded-file deletion (project-owner follow-up
request), with particular focus on the rollup-recompute correctness fix
that shipped alongside it: request_stats_daily/hourly and the derived
per-day tables must correctly shrink (or disappear entirely) when the
file(s) that contributed to a date are deleted — not just grow, which is
all the aggregator was ever previously asked to do.
"""
from __future__ import annotations
import io
import time
from datetime import date, datetime
from app.extensions import db
from app.models.bot_hit import BotHit
from app.models.log_entry import LogEntry
from app.models.log_file import LogFile
from app.models.request_stats import RequestStatsDaily, RequestStatsHourly
from app.models.suspicious_event import SuspiciousEvent
LOG_DATE = date(2026, 7, 15)
LINE_A = (
b'203.0.113.10 - - [15/Jul/2026:10:00:00 -0700] "GET /a.html HTTP/1.1" 200 500 '
b'"-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0"\n'
)
LINE_B = (
b'203.0.113.11 - - [15/Jul/2026:11:00:00 -0700] "GET /b.html HTTP/1.1" 200 700 '
b'"-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0"\n'
)
SCANNER_LINE = (
b'203.0.113.12 - - [15/Jul/2026:12:00:00 -0700] "GET /.env HTTP/1.1" 404 0 '
b'"-" "sqlmap/1.7"\n'
)
def _upload(client, content: bytes, filename: str) -> LogFile:
resp = client.post(
"/uploads",
data={"logfile": (io.BytesIO(content), filename), "server_type": "apache", "format_string": ""},
content_type="multipart/form-data",
)
assert resp.status_code == 200
log_file = LogFile.query.filter_by(filename=filename).first()
assert log_file is not None
_wait_until_done(log_file)
return log_file
def _wait_until_done(log_file: LogFile) -> None:
deadline = time.time() + 5
while time.time() < deadline:
db.session.refresh(log_file)
if log_file.status in ("done", "error"):
return
time.sleep(0.05)
raise AssertionError(f"file {log_file.id} never finished processing (status={log_file.status})")
def _hourly_rows_for_log_date():
start = datetime.combine(LOG_DATE, datetime.min.time())
end = start.replace(hour=23, minute=59)
return RequestStatsHourly.query.filter(RequestStatsHourly.date_hour.between(start, end))
def test_deleting_a_file_recomputes_shared_date_rollup_correctly(logged_in_client):
"""Two files both touch 2026-07-15. Deleting one must leave the
day's rollup reflecting only the file that remains — not zero,
and not double-counted.
"""
file_a = _upload(logged_in_client, LINE_A, "file-a.log")
file_b = _upload(logged_in_client, LINE_B, "file-b.log")
daily = db.session.get(RequestStatsDaily, LOG_DATE)
assert daily is not None
assert daily.count == 2 # both lines contributed
resp = logged_in_client.delete("/api/uploads", json={"ids": [file_a.id]})
assert resp.status_code == 200
body = resp.get_json()["data"]
assert body["deleted"] == [file_a.id]
assert body["skipped"] == []
# file_a's own rows are gone...
assert db.session.get(LogFile, file_a.id) is None
assert LogEntry.query.filter_by(log_file_id=file_a.id).count() == 0
# ...but file_b's contribution to the same date survives, and the
# rollup now reflects ONLY file_b — this is exactly the bug that
# would have shipped without the aggregator fix (either stuck at 2,
# or wiped to nothing even though file_b's data is still there).
daily = db.session.get(RequestStatsDaily, LOG_DATE)
assert daily is not None
assert daily.count == 1
assert LogEntry.query.filter_by(log_file_id=file_b.id).count() == 1
def test_deleting_the_only_file_for_a_date_clears_the_rollup_entirely(logged_in_client):
"""When NO file covers a date anymore, the stale rollup row must be
removed, not left behind with yesterday's numbers.
"""
file_a = _upload(logged_in_client, LINE_A, "solo-file.log")
assert db.session.get(RequestStatsDaily, LOG_DATE) is not None
assert _hourly_rows_for_log_date().count() > 0
resp = logged_in_client.delete("/api/uploads", json={"ids": [file_a.id]})
assert resp.status_code == 200
assert resp.get_json()["data"]["deleted"] == [file_a.id]
assert db.session.get(RequestStatsDaily, LOG_DATE) is None
assert _hourly_rows_for_log_date().count() == 0
def test_deleting_a_file_removes_bot_hits_and_suspicious_events(logged_in_client):
file_a = _upload(logged_in_client, LINE_B + SCANNER_LINE, "mixed.log")
assert BotHit.query.filter_by(log_file_id=file_a.id).count() == 0 # LINE_B has no bot UA
assert SuspiciousEvent.query.filter_by(log_file_id=file_a.id).count() == 1 # sqlmap
resp = logged_in_client.delete("/api/uploads", json={"ids": [file_a.id]})
assert resp.status_code == 200
assert SuspiciousEvent.query.filter_by(log_file_id=file_a.id).count() == 0
def test_delete_skips_unknown_id(logged_in_client):
resp = logged_in_client.delete("/api/uploads", json={"ids": [999999]})
assert resp.status_code == 200
body = resp.get_json()["data"]
assert body["deleted"] == []
assert body["skipped"] == [{"id": 999999, "reason": "not found"}]
def test_delete_rejects_malformed_body(logged_in_client):
resp = logged_in_client.delete("/api/uploads", json={"ids": "not-a-list"})
assert resp.status_code == 400
def test_list_uploads_returns_paginated_rows(logged_in_client):
_upload(logged_in_client, LINE_A, "list-test.log")
resp = logged_in_client.get("/api/uploads?page=1&per_page=20")
assert resp.status_code == 200
data = resp.get_json()["data"]
assert data["total"] >= 1
row = next(r for r in data["rows"] if r[1] == "list-test.log")
assert row[3] == "done" # status column
assert row[6] == "done" # raw status (hidden column)
def test_delete_endpoint_requires_authentication(client):
resp = client.delete("/api/uploads", json={"ids": [1]})
assert resp.status_code == 401
assert resp.get_json()["error"]["code"] == "unauthorized"
+50
View File
@@ -0,0 +1,50 @@
"""Log parser tests (Chapter 12: highest testing priority per Ch12)."""
from __future__ import annotations
from app.services.log_parser.apache import combined_parser, common_parser
from app.services.log_parser.format_compiler import compile_format, parse_apache_timestamp
COMMON_LINE = '127.0.0.1 - - [10/Oct/2026:13:55:36 -0700] "GET /index.html HTTP/1.1" 200 1234\n'
COMBINED_LINE = (
'127.0.0.1 - - [10/Oct/2026:13:55:36 -0700] "GET /index.html HTTP/1.1" 200 1234 '
'"https://example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0"\n'
)
MALFORMED_LINE = "this is not a log line\n"
def test_common_parser_parses_valid_line():
entry = common_parser().parse_line(COMMON_LINE)
assert entry is not None
assert entry.ip == "127.0.0.1"
assert entry.method == "GET"
assert entry.path == "/index.html"
assert entry.status_code == 200
assert entry.bytes_sent == 1234
assert entry.referrer is None
assert entry.user_agent is None
def test_combined_parser_parses_referrer_and_user_agent():
entry = combined_parser().parse_line(COMBINED_LINE)
assert entry is not None
assert entry.referrer == "https://example.com/"
assert "Chrome" in entry.user_agent
def test_malformed_line_returns_none_not_raises():
assert common_parser().parse_line(MALFORMED_LINE) is None
def test_custom_format_string_compiles_and_parses():
custom_format = '%h %t "%r" %>s'
compiled = compile_format(custom_format)
match = compiled.pattern.match('127.0.0.1 [10/Oct/2026:13:55:36 -0700] "GET /x HTTP/1.1" 404')
assert match is not None
assert match.group("ip") == "127.0.0.1"
assert match.group("status") == "404"
def test_parse_apache_timestamp_normalizes_to_utc():
dt = parse_apache_timestamp("10/Oct/2026:13:55:36 -0700")
assert dt.hour == 20 # -0700 -> UTC
assert dt.tzinfo is None
+37
View File
@@ -0,0 +1,37 @@
"""Regression test against real production log samples (Chapter 12): both
files were provided during development after a real cPanel deployment and
confirmed to parse cleanly with zero failures against the default
Combined-format parser. Locked in here so a future change can't silently
break compatibility with this real-world data.
"""
from __future__ import annotations
from pathlib import Path
from app.services.log_parser.apache import combined_parser
FIXTURES_DIR = Path(__file__).parent / "fixtures"
def _count_parse_failures(path: Path) -> tuple[int, int]:
parser = combined_parser()
total = 0
failed = 0
with path.open(encoding="utf-8", errors="replace") as f:
for line in f:
total += 1
if parser.parse_line(line) is None:
failed += 1
return total, failed
def test_ssl_log_fixture_parses_with_zero_failures():
total, failed = _count_parse_failures(FIXTURES_DIR / "hemmatitasks.ir-ssl_log")
assert total == 222
assert failed == 0
def test_plain_log_fixture_parses_with_zero_failures():
total, failed = _count_parse_failures(FIXTURES_DIR / "hemmatitasks.ir")
assert total == 66
assert failed == 0
+52
View File
@@ -0,0 +1,52 @@
"""Integration smoke tests, one per blueprint's main route (Chapter 12)."""
from __future__ import annotations
def test_root_redirects_to_login_when_not_authenticated(client):
resp = client.get("/", follow_redirects=False)
assert resp.status_code == 302
assert resp.headers["Location"] == "/login"
def test_root_redirects_to_overview_when_authenticated(logged_in_client):
resp = logged_in_client.get("/", follow_redirects=False)
assert resp.status_code == 302
assert resp.headers["Location"] == "/overview"
def test_healthz_is_public_and_ok(client):
resp = client.get("/healthz")
assert resp.status_code == 200
assert resp.get_json()["data"]["status"] == "ok"
def test_overview_redirects_when_not_logged_in(client):
resp = client.get("/overview")
assert resp.status_code in (302, 401)
def test_overview_reachable_when_logged_in(logged_in_client):
resp = logged_in_client.get("/overview")
assert resp.status_code == 200
def test_seo_reachable_when_logged_in(logged_in_client):
resp = logged_in_client.get("/seo")
assert resp.status_code == 200
def test_security_reachable_when_logged_in(logged_in_client):
resp = logged_in_client.get("/security")
assert resp.status_code == 200
def test_api_endpoint_returns_401_json_when_not_logged_in(client):
resp = client.get("/api/overview/kpis")
assert resp.status_code == 401
assert resp.get_json()["error"]["code"] == "unauthorized"
def test_login_with_bad_credentials_shows_flash(client):
resp = client.post("/login", data={"email": "nope@example.com", "password": "wrong"}, follow_redirects=True)
assert resp.status_code == 200
assert b"Invalid email or password" in resp.data
+36
View File
@@ -0,0 +1,36 @@
"""Threat/suspicious-pattern scanner tests (Chapter 07/12)."""
from __future__ import annotations
from datetime import datetime
from app.services import threat_scanner
from app.services.log_parser import ParsedEntry
def _entry(path="/", user_agent="Mozilla/5.0"):
return ParsedEntry(
timestamp=datetime(2026, 7, 1), ip="203.0.113.1", method="GET", path=path,
status_code=200, bytes_sent=100, referrer=None, user_agent=user_agent,
)
def test_scan_detects_sensitive_path():
match = threat_scanner.scan(_entry(path="/.env"))
assert match is not None
assert match.rule_matched.startswith("sensitive_path:")
def test_scan_detects_injection_marker():
match = threat_scanner.scan(_entry(path="/search?q=' OR '1'='1"))
assert match is not None
assert match.rule_matched.startswith("injection:")
def test_scan_detects_scanner_user_agent():
match = threat_scanner.scan(_entry(path="/", user_agent="sqlmap/1.7"))
assert match is not None
assert match.rule_matched.startswith("scanner_ua:")
def test_scan_returns_none_for_benign_request():
assert threat_scanner.scan(_entry(path="/about")) is None
+86
View File
@@ -0,0 +1,86 @@
"""Upload status-polling tests.
Covers two things:
1. Regression coverage for the queued-vs-processing template bug reported
after a real deployment: a file sitting in 'queued' status (before the
background trigger/cron picks it up) was rendering the same text as a
genuinely in-progress parse, making the two states indistinguishable.
2. The real percentage progress bar (Ch12: total_lines is now counted on
first pickup, so processed/total renders as an actual percentage
instead of an indeterminate spinner).
"""
from __future__ import annotations
from app.models.log_file import LogFile
def _make_log_file(db, status: str, processed_lines: int = 0, total_lines: int | None = None) -> LogFile:
log_file = LogFile(
filename="sample.log.gz",
server_type="apache",
format_string="",
status=status,
processed_lines=processed_lines,
total_lines=total_lines,
size_bytes=123,
checksum=f"checksum-for-{status}-{processed_lines}-{total_lines}",
)
db.session.add(log_file)
db.session.commit()
return log_file
def test_queued_status_renders_queued_template_not_processing(logged_in_client, db):
log_file = _make_log_file(db, status="queued")
resp = logged_in_client.get(f"/api/uploads/{log_file.id}/status")
assert resp.status_code == 200
assert b"sample.log.gz" in resp.data
assert b"queued" in resp.data.lower()
assert b"analyzing" not in resp.data.lower()
def test_processing_status_without_total_shows_indeterminate(logged_in_client, db):
log_file = _make_log_file(db, status="processing", processed_lines=42)
resp = logged_in_client.get(f"/api/uploads/{log_file.id}/status")
assert resp.status_code == 200
assert b"sample.log.gz" in resp.data
assert b"42" in resp.data
assert b"analyzing" in resp.data.lower()
def test_processing_status_with_total_shows_real_percentage(logged_in_client, db):
log_file = _make_log_file(db, status="processing", processed_lines=25, total_lines=100)
resp = logged_in_client.get(f"/api/uploads/{log_file.id}/status")
assert resp.status_code == 200
assert b"25%" in resp.data
assert b"25" in resp.data and b"100" in resp.data
def test_done_status_renders_done_template(logged_in_client, db):
log_file = _make_log_file(db, status="done", processed_lines=100, total_lines=100)
resp = logged_in_client.get(f"/api/uploads/{log_file.id}/status")
assert resp.status_code == 200
assert b"sample.log.gz" in resp.data
assert b"done" in resp.data.lower()
assert b"100" in resp.data
def test_error_status_renders_error_template(logged_in_client, db):
log_file = _make_log_file(db, status="error")
log_file.error_message = "boom"
db.session.commit()
resp = logged_in_client.get(f"/api/uploads/{log_file.id}/status")
assert resp.status_code == 200
assert b"sample.log.gz" in resp.data
assert b"boom" in resp.data
def test_json_status_includes_total_lines(logged_in_client, db):
log_file = _make_log_file(db, status="processing", processed_lines=10, total_lines=50)
resp = logged_in_client.get(
f"/api/uploads/{log_file.id}/status", headers={"Accept": "application/json"}
)
assert resp.status_code == 200
data = resp.get_json()["data"]
assert data["processed_lines"] == 10
assert data["total_lines"] == 50