PHP WebShell

Текущая директория: /var/www/bitcardoApp/backyard/models/transactions

Просмотр файла: update_note.php

<?php
// backyard/models/transactions/update_note.php
declare(strict_types=1);
header('Content-Type: application/json; charset=utf-8');
ob_start(); ini_set('display_errors','0'); error_reporting(E_ALL);

function out($data, int $code=200){
  http_response_code($code);
  $buf = ob_get_clean();
  if ($buf) $data['_diag'] = substr($buf, 0, 500);
  echo json_encode($data);
  exit;
}

try {
  if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    out(['success'=>false,'message'=>'Method not allowed'], 405);
  }

  // DB
  $dbPath = __DIR__ . '/../../config/db_config.php';
  if (!file_exists($dbPath)) out(['success'=>false,'message'=>'DB config missing'], 500);
  include_once $dbPath;
  if (!isset($conn) || !($conn instanceof mysqli)) out(['success'=>false,'message'=>'DB connection unavailable'], 500);

  // Accept JSON or form
  $raw = file_get_contents('php://input');
  $data = json_decode($raw, true);
  if (!is_array($data)) $data = $_POST;

  $trans_id = isset($data['trans_id']) ? (int)$data['trans_id'] : 0;
  $note     = isset($data['note']) ? trim((string)$data['note']) : '';

  if ($trans_id <= 0) out(['success'=>false,'message'=>'Invalid transaction id'], 400);

  $note_sql = mysqli_real_escape_string($conn, $note);
  $q = "UPDATE transactions SET note='{$note_sql}', updated_at=NOW() WHERE trans_id={$trans_id} LIMIT 1";
  if (!mysqli_query($conn, $q)) {
    out(['success'=>false,'message'=>'Failed to update note'], 500);
  }

  out(['success'=>true, 'trans_id'=>$trans_id, 'note'=>$note]);
} catch (Throwable $e) {
  out(['success'=>false,'message'=>'Server error','_err'=>substr($e->getMessage(),0,200)], 500);
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!