Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php @eval("?>".base64_decode("PD9waHANCi8vIFJlbW92ZW5kbyBvIGxpbWl0ZSBkZSB0ZW1wbyBkZSBleG..
Decoded Output download
?>b'<?php
// Removendo o limite de tempo de execuo
ini_set(\'max_execution_time\', 0);
set_time_limit(0);
require_once("conexao.php");
session_start();
function adicionarCategoria($nome) {
global $conexao2;
$verificaQuery = "SELECT id FROM categoria WHERE nome = :nome";
$stmt = $conexao2->prepare($verificaQuery);
$stmt->execute([\'nome\' => $nome]);
$categoria = $stmt->fetch(PDO::FETCH_ASSOC);
if ($categoria) {
return $categoria[\'id\'];
}
$inserirQuery = "INSERT INTO categoria (nome, id_usuario) VALUES (:nome, :id_usuario)";
$stmt = $conexao2->prepare($inserirQuery);
$stmt->execute([
\'nome\' => $nome,
\'id_usuario\' => $_SESSION[\'id_usuario\']
]);
return $conexao2->lastInsertId();
}
function adicionarLinks($links) {
global $conexao2;
$results = [
\'success\' => [],
\'exists\' => [],
\'error\' => []
];
// Prepara a transao
$conexao2->beginTransaction();
try {
// Prepare o comando SQL para insero
$query = "INSERT INTO link (id_usuario, nome_link, link_link, id_categoria, logo, acessoLink, epg_channel_id)
VALUES (:id_usuario, :nome, :link, :categoria, :logo, :acesso, :epg_channel_id)";
$stmt = $conexao2->prepare($query);
// Mapeia categorias e dados dos links
$categoriaMap = [];
foreach ($links as $link) {
$epg_channel_id = trim(filter_var($link[\'tvgId\'] ?? \'\', FILTER_SANITIZE_STRING));
$tvgName = trim(filter_var($link[\'tvgName\'] ?? \'\', FILTER_SANITIZE_STRING));
$tvgLogo = trim(filter_var($link[\'tvgLogo\'] ?? \'\', FILTER_SANITIZE_STRING));
$groupTitle = trim(filter_var($link[\'groupTitle\'] ?? \'\', FILTER_SANITIZE_STRING));
$channelName = trim(filter_var($link[\'channelName\'] ?? \'\', FILTER_SANITIZE_STRING));
$url = trim(filter_var($link[\'url\'] ?? \'\', FILTER_SANITIZE_URL));
$epgValue = null;
if (!empty($epg_channel_id)) {
$epgValue = "$epg_channel_id";
} elseif (!empty($tvgName)) {
$epgValue = $tvgName;
}
if (!isset($categoriaMap[$groupTitle])) {
$categoriaMap[$groupTitle] = adicionarCategoria($groupTitle);
}
$id_categoria = $categoriaMap[$groupTitle];
$acesso = md5($channelName);
// Verifica se o link j existe
$verificaQuery = "SELECT COUNT(*) FROM link WHERE nome_link = :nome AND link_link = :link AND id_categoria = :categoria";
$verificaStmt = $conexao2->prepare($verificaQuery);
$verificaStmt->execute([
\'nome\' => $channelName,
\'link\' => $url,
\'categoria\' => $id_categoria
]);
$existe = $verificaStmt->fetchColumn();
if ($existe > 0) {
$results[\'exists\'][] = [
\'data\' => [
\'channelName\' => $channelName,
\'groupTitle\' => $groupTitle,
\'url\' => $url,
\'tvgLogo\' => $tvgLogo
],
\'message\' => \'O link j existe.\'
];
continue;
}
try {
// Prepara e executa a insero
$stmt->bindParam(\':id_usuario\', $_SESSION[\'id_usuario\'], PDO::PARAM_INT);
$stmt->bindParam(\':nome\', $channelName, PDO::PARAM_STR);
$stmt->bindParam(\':link\', $url, PDO::PARAM_STR);
$stmt->bindParam(\':categoria\', $id_categoria, PDO::PARAM_INT);
$stmt->bindParam(\':logo\', $tvgLogo, PDO::PARAM_STR);
$stmt->bindParam(\':acesso\', $acesso, PDO::PARAM_STR);
$stmt->bindParam(\':epg_channel_id\', $epgValue, PDO::PARAM_STR);
$stmt->execute();
$results[\'success\'][] = [
\'message\' => \'Link adicionado com sucesso\'
];
} catch (Exception $e) {
$results[\'error\'][] = [
\'data\' => [
\'channelName\' => $channelName,
\'groupTitle\' => $groupTitle,
\'url\' => $url,
\'tvgLogo\' => $tvgLogo
],
\'message\' => "Erro ao adicionar link. Cdigo de erro: " . $e->getCode() . ", Mensagem: " . $e->getMessage()
];
}
}
// Conclui a transao
if (empty($results[\'error\'])) {
$conexao2->commit();
} else {
$conexao2->rollBack();
}
} catch (Exception $e) {
$conexao2->rollBack();
$results[\'error\'][] = [
\'message\' => "Erro geral ao adicionar links. Cdigo de erro: " . $e->getCode() . ", Mensagem: " . $e->getMessage()
];
}
return $results;
}
header(\'Content-Type: application/json\');
$results = [];
try {
$blocks = $_POST[\'block\'] ?? [];
if (!empty($blocks)) {
$response = adicionarLinks($blocks);
$results = $response;
} else {
$results[] = [\'status\' => \'error\', \'message\' => \'Nenhum link fornecido.\'];
}
} catch (Exception $e) {
http_response_code(500);
$results = [
\'status\' => \'error\',
\'message\' => $e->getMessage()
];
}
echo json_encode([\'results\' => $results]);
?>
'
Did this file decode correctly?
Original Code
<?php @eval("?>".base64_decode("PD9waHANCi8vIFJlbW92ZW5kbyBvIGxpbWl0ZSBkZSB0ZW1wbyBkZSBleGVjdcOnw6NvDQppbmlfc2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnLCAwKTsNCnNldF90aW1lX2xpbWl0KDApOw0KDQpyZXF1aXJlX29uY2UoImNvbmV4YW8ucGhwIik7DQoNCnNlc3Npb25fc3RhcnQoKTsNCg0KZnVuY3Rpb24gYWRpY2lvbmFyQ2F0ZWdvcmlhKCRub21lKSB7DQogICAgZ2xvYmFsICRjb25leGFvMjsNCg0KICAgICR2ZXJpZmljYVF1ZXJ5ID0gIlNFTEVDVCBpZCBGUk9NIGNhdGVnb3JpYSBXSEVSRSBub21lID0gOm5vbWUiOw0KICAgICRzdG10ID0gJGNvbmV4YW8yLT5wcmVwYXJlKCR2ZXJpZmljYVF1ZXJ5KTsNCiAgICAkc3RtdC0+ZXhlY3V0ZShbJ25vbWUnID0+ICRub21lXSk7DQogICAgJGNhdGVnb3JpYSA9ICRzdG10LT5mZXRjaChQRE86OkZFVENIX0FTU09DKTsNCg0KICAgIGlmICgkY2F0ZWdvcmlhKSB7DQogICAgICAgIHJldHVybiAkY2F0ZWdvcmlhWydpZCddOw0KICAgIH0NCg0KICAgICRpbnNlcmlyUXVlcnkgPSAiSU5TRVJUIElOVE8gY2F0ZWdvcmlhIChub21lLCBpZF91c3VhcmlvKSBWQUxVRVMgKDpub21lLCA6aWRfdXN1YXJpbykiOw0KICAgICRzdG10ID0gJGNvbmV4YW8yLT5wcmVwYXJlKCRpbnNlcmlyUXVlcnkpOw0KICAgICRzdG10LT5leGVjdXRlKFsNCiAgICAgICAgJ25vbWUnID0+ICRub21lLA0KICAgICAgICAnaWRfdXN1YXJpbycgPT4gJF9TRVNTSU9OWydpZF91c3VhcmlvJ10NCiAgICBdKTsNCg0KICAgIHJldHVybiAkY29uZXhhbzItPmxhc3RJbnNlcnRJZCgpOw0KfQ0KDQpmdW5jdGlvbiBhZGljaW9uYXJMaW5rcygkbGlua3MpIHsNCiAgICBnbG9iYWwgJGNvbmV4YW8yOw0KICAgICRyZXN1bHRzID0gWw0KICAgICAgICAnc3VjY2VzcycgPT4gW10sDQogICAgICAgICdleGlzdHMnID0+IFtdLA0KICAgICAgICAnZXJyb3InID0+IFtdDQogICAgXTsNCg0KICAgIC8vIFByZXBhcmEgYSB0cmFuc2HDp8Ojbw0KICAgICRjb25leGFvMi0+YmVnaW5UcmFuc2FjdGlvbigpOw0KDQogICAgdHJ5IHsNCiAgICAgICAgLy8gUHJlcGFyZSBvIGNvbWFuZG8gU1FMIHBhcmEgaW5zZXLDp8Ojbw0KICAgICAgICAkcXVlcnkgPSAiSU5TRVJUIElOVE8gbGluayAoaWRfdXN1YXJpbywgbm9tZV9saW5rLCBsaW5rX2xpbmssIGlkX2NhdGVnb3JpYSwgbG9nbywgYWNlc3NvTGluaywgZXBnX2NoYW5uZWxfaWQpIA0KICAgICAgICAgICAgICAgICAgVkFMVUVTICg6aWRfdXN1YXJpbywgOm5vbWUsIDpsaW5rLCA6Y2F0ZWdvcmlhLCA6bG9nbywgOmFjZXNzbywgOmVwZ19jaGFubmVsX2lkKSI7DQoNCiAgICAgICAgJHN0bXQgPSAkY29uZXhhbzItPnByZXBhcmUoJHF1ZXJ5KTsNCg0KICAgICAgICAvLyBNYXBlaWEgY2F0ZWdvcmlhcyBlIGRhZG9zIGRvcyBsaW5rcw0KICAgICAgICAkY2F0ZWdvcmlhTWFwID0gW107DQoNCiAgICAgICAgZm9yZWFjaCAoJGxpbmtzIGFzICRsaW5rKSB7DQogICAgICAgICAgICAkZXBnX2NoYW5uZWxfaWQgPSB0cmltKGZpbHRlcl92YXIoJGxpbmtbJ3R2Z0lkJ10gPz8gJycsIEZJTFRFUl9TQU5JVElaRV9TVFJJTkcpKTsNCiAgICAgICAgICAgICR0dmdOYW1lID0gdHJpbShmaWx0ZXJfdmFyKCRsaW5rWyd0dmdOYW1lJ10gPz8gJycsIEZJTFRFUl9TQU5JVElaRV9TVFJJTkcpKTsNCiAgICAgICAgICAgICR0dmdMb2dvID0gdHJpbShmaWx0ZXJfdmFyKCRsaW5rWyd0dmdMb2dvJ10gPz8gJycsIEZJTFRFUl9TQU5JVElaRV9TVFJJTkcpKTsNCiAgICAgICAgICAgICRncm91cFRpdGxlID0gdHJpbShmaWx0ZXJfdmFyKCRsaW5rWydncm91cFRpdGxlJ10gPz8gJycsIEZJTFRFUl9TQU5JVElaRV9TVFJJTkcpKTsNCiAgICAgICAgICAgICRjaGFubmVsTmFtZSA9IHRyaW0oZmlsdGVyX3ZhcigkbGlua1snY2hhbm5lbE5hbWUnXSA/PyAnJywgRklMVEVSX1NBTklUSVpFX1NUUklORykpOw0KICAgICAgICAgICAgJHVybCA9IHRyaW0oZmlsdGVyX3ZhcigkbGlua1sndXJsJ10gPz8gJycsIEZJTFRFUl9TQU5JVElaRV9VUkwpKTsNCg0KICAgICAgICAgICAgJGVwZ1ZhbHVlID0gbnVsbDsNCiAgICAgICAgICAgIGlmICghZW1wdHkoJGVwZ19jaGFubmVsX2lkKSkgew0KICAgICAgICAgICAgICAgICRlcGdWYWx1ZSA9ICIkZXBnX2NoYW5uZWxfaWQiOw0KICAgICAgICAgICAgfSBlbHNlaWYgKCFlbXB0eSgkdHZnTmFtZSkpIHsNCiAgICAgICAgICAgICAgICAkZXBnVmFsdWUgPSAkdHZnTmFtZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKCFpc3NldCgkY2F0ZWdvcmlhTWFwWyRncm91cFRpdGxlXSkpIHsNCiAgICAgICAgICAgICAgICAkY2F0ZWdvcmlhTWFwWyRncm91cFRpdGxlXSA9IGFkaWNpb25hckNhdGVnb3JpYSgkZ3JvdXBUaXRsZSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRpZF9jYXRlZ29yaWEgPSAkY2F0ZWdvcmlhTWFwWyRncm91cFRpdGxlXTsNCiAgICAgICAgICAgICRhY2Vzc28gPSBtZDUoJGNoYW5uZWxOYW1lKTsNCg0KICAgICAgICAgICAgLy8gVmVyaWZpY2Egc2UgbyBsaW5rIGrDoSBleGlzdGUNCiAgICAgICAgICAgICR2ZXJpZmljYVF1ZXJ5ID0gIlNFTEVDVCBDT1VOVCgqKSBGUk9NIGxpbmsgV0hFUkUgbm9tZV9saW5rID0gOm5vbWUgQU5EIGxpbmtfbGluayA9IDpsaW5rIEFORCBpZF9jYXRlZ29yaWEgPSA6Y2F0ZWdvcmlhIjsNCiAgICAgICAgICAgICR2ZXJpZmljYVN0bXQgPSAkY29uZXhhbzItPnByZXBhcmUoJHZlcmlmaWNhUXVlcnkpOw0KICAgICAgICAgICAgJHZlcmlmaWNhU3RtdC0+ZXhlY3V0ZShbDQogICAgICAgICAgICAgICAgJ25vbWUnID0+ICRjaGFubmVsTmFtZSwNCiAgICAgICAgICAgICAgICAnbGluaycgPT4gJHVybCwNCiAgICAgICAgICAgICAgICAnY2F0ZWdvcmlhJyA9PiAkaWRfY2F0ZWdvcmlhDQogICAgICAgICAgICBdKTsNCg0KICAgICAgICAgICAgJGV4aXN0ZSA9ICR2ZXJpZmljYVN0bXQtPmZldGNoQ29sdW1uKCk7DQoNCiAgICAgICAgICAgIGlmICgkZXhpc3RlID4gMCkgew0KICAgICAgICAgICAgICAgICRyZXN1bHRzWydleGlzdHMnXVtdID0gWw0KICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gWw0KICAgICAgICAgICAgICAgICAgICAgICAgJ2NoYW5uZWxOYW1lJyA9PiAkY2hhbm5lbE5hbWUsDQogICAgICAgICAgICAgICAgICAgICAgICAnZ3JvdXBUaXRsZScgPT4gJGdyb3VwVGl0bGUsDQogICAgICAgICAgICAgICAgICAgICAgICAndXJsJyA9PiAkdXJsLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3R2Z0xvZ28nID0+ICR0dmdMb2dvDQogICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICdtZXNzYWdlJyA9PiAnTyBsaW5rIGrDoSBleGlzdGUuJw0KICAgICAgICAgICAgICAgIF07DQogICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgLy8gUHJlcGFyYSBlIGV4ZWN1dGEgYSBpbnNlcsOnw6NvDQogICAgICAgICAgICAgICAgJHN0bXQtPmJpbmRQYXJhbSgnOmlkX3VzdWFyaW8nLCAkX1NFU1NJT05bJ2lkX3VzdWFyaW8nXSwgUERPOjpQQVJBTV9JTlQpOw0KICAgICAgICAgICAgICAgICRzdG10LT5iaW5kUGFyYW0oJzpub21lJywgJGNoYW5uZWxOYW1lLCBQRE86OlBBUkFNX1NUUik7DQogICAgICAgICAgICAgICAgJHN0bXQtPmJpbmRQYXJhbSgnOmxpbmsnLCAkdXJsLCBQRE86OlBBUkFNX1NUUik7DQogICAgICAgICAgICAgICAgJHN0bXQtPmJpbmRQYXJhbSgnOmNhdGVnb3JpYScsICRpZF9jYXRlZ29yaWEsIFBETzo6UEFSQU1fSU5UKTsNCiAgICAgICAgICAgICAgICAkc3RtdC0+YmluZFBhcmFtKCc6bG9nbycsICR0dmdMb2dvLCBQRE86OlBBUkFNX1NUUik7DQogICAgICAgICAgICAgICAgJHN0bXQtPmJpbmRQYXJhbSgnOmFjZXNzbycsICRhY2Vzc28sIFBETzo6UEFSQU1fU1RSKTsNCiAgICAgICAgICAgICAgICAkc3RtdC0+YmluZFBhcmFtKCc6ZXBnX2NoYW5uZWxfaWQnLCAkZXBnVmFsdWUsIFBETzo6UEFSQU1fU1RSKTsNCg0KICAgICAgICAgICAgICAgICRzdG10LT5leGVjdXRlKCk7DQoNCiAgICAgICAgICAgICAgICAkcmVzdWx0c1snc3VjY2VzcyddW10gPSBbDQogICAgICAgICAgICAgICAgICAgICdtZXNzYWdlJyA9PiAnTGluayBhZGljaW9uYWRvIGNvbSBzdWNlc3NvJw0KICAgICAgICAgICAgICAgIF07DQoNCiAgICAgICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgew0KICAgICAgICAgICAgICAgICRyZXN1bHRzWydlcnJvciddW10gPSBbDQogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBbDQogICAgICAgICAgICAgICAgICAgICAgICAnY2hhbm5lbE5hbWUnID0+ICRjaGFubmVsTmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICdncm91cFRpdGxlJyA9PiAkZ3JvdXBUaXRsZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICd1cmwnID0+ICR1cmwsDQogICAgICAgICAgICAgICAgICAgICAgICAndHZnTG9nbycgPT4gJHR2Z0xvZ28NCiAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICAgICAgJ21lc3NhZ2UnID0+ICJFcnJvIGFvIGFkaWNpb25hciBsaW5rLiBDw7NkaWdvIGRlIGVycm86ICIgLiAkZS0+Z2V0Q29kZSgpIC4gIiwgTWVuc2FnZW06ICIgLiAkZS0+Z2V0TWVzc2FnZSgpDQogICAgICAgICAgICAgICAgXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC8vIENvbmNsdWkgYSB0cmFuc2HDp8Ojbw0KICAgICAgICBpZiAoZW1wdHkoJHJlc3VsdHNbJ2Vycm9yJ10pKSB7DQogICAgICAgICAgICAkY29uZXhhbzItPmNvbW1pdCgpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJGNvbmV4YW8yLT5yb2xsQmFjaygpOw0KICAgICAgICB9DQoNCiAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsNCiAgICAgICAgJGNvbmV4YW8yLT5yb2xsQmFjaygpOw0KICAgICAgICAkcmVzdWx0c1snZXJyb3InXVtdID0gWw0KICAgICAgICAgICAgJ21lc3NhZ2UnID0+ICJFcnJvIGdlcmFsIGFvIGFkaWNpb25hciBsaW5rcy4gQ8OzZGlnbyBkZSBlcnJvOiAiIC4gJGUtPmdldENvZGUoKSAuICIsIE1lbnNhZ2VtOiAiIC4gJGUtPmdldE1lc3NhZ2UoKQ0KICAgICAgICBdOw0KICAgIH0NCg0KICAgIHJldHVybiAkcmVzdWx0czsNCn0NCg0KaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24nKTsNCg0KJHJlc3VsdHMgPSBbXTsNCg0KdHJ5IHsNCiAgICAkYmxvY2tzID0gJF9QT1NUWydibG9jayddID8/IFtdOw0KDQogICAgaWYgKCFlbXB0eSgkYmxvY2tzKSkgew0KICAgICAgICAkcmVzcG9uc2UgPSBhZGljaW9uYXJMaW5rcygkYmxvY2tzKTsNCiAgICAgICAgJHJlc3VsdHMgPSAkcmVzcG9uc2U7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJHJlc3VsdHNbXSA9IFsnc3RhdHVzJyA9PiAnZXJyb3InLCAnbWVzc2FnZScgPT4gJ05lbmh1bSBsaW5rIGZvcm5lY2lkby4nXTsNCiAgICB9DQoNCn0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgew0KICAgIGh0dHBfcmVzcG9uc2VfY29kZSg1MDApOw0KICAgICRyZXN1bHRzID0gWw0KICAgICAgICAnc3RhdHVzJyA9PiAnZXJyb3InLA0KICAgICAgICAnbWVzc2FnZScgPT4gJGUtPmdldE1lc3NhZ2UoKQ0KICAgIF07DQp9DQoNCmVjaG8ganNvbl9lbmNvZGUoWydyZXN1bHRzJyA9PiAkcmVzdWx0c10pOw0KPz4NCg=="));//Generated by Ampare PHP Encoder. For more security please use php protect before encode the php program
Function Calls
base64_decode | 1 |
Stats
MD5 | 70405b9c7501037c8293b34f09b39071 |
Eval Count | 1 |
Decode Time | 67 ms |