Проверить контент на опасные подстроки landing.repo.checkContent

Мы еще обновляем эту страницу

Тут может не хватать некоторых данных — дополним в ближайшее время

Scope: landing

Кто может выполнять метод: любой пользователь

Метод landing.repo.checkContent проверяет контент на опасные подстроки. К таким относятся onclick="", <iframe> и ряд других. При обычном кейсе использования варианты срабатывания минимальны. Метод используется исключительно для контроля содержимого при регистрации блока.

Параметры

Параметр

Описание

С версии

content
unknown

Содержимое для тестирования.

splitter
unknown

Необязательный параметр для разделения опасных подстрок. По-умолчанию равен #SANITIZE#.

Примеры

try
        {
        	const response = await $b24.callMethod(
        		'landing.repo.checkContent',
        		{
        			content: '<div style="color: red" onclick="alert(123)"><iframe src="//evil.com"></iframe></div>',
        			splitter: '#AAA#'
        		}
        	);
        	
        	const result = response.getData().result;
        	if(result.error())
        		console.error(result.error());
        	else
        		console.info(result);
        }
        catch(error)
        {
        	console.error('Error:', error);
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'landing.repo.checkContent',
                    [
                        'content'  => '<div style="color: red" onclick="alert(123)"><iframe src="//evil.com"></iframe></div>',
                        'splitter' => '#AAA#',
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            if ($result->error()) {
                error_log($result->error());
            } else {
                echo 'Info: ' . print_r($result->data(), true);
            }
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error checking content: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'landing.repo.checkContent',
            {
                content: '<div style="color: red" onclick="alert(123)"><iframe src="//evil.com"></iframe></div>',
                splitter: '#AAA#'
            },
            function(result)
            {
                if(result.error())
                    console.error(result.error());
                else
                    console.info(result.data());
            }
        );
        

Как использовать примеры в документации

Ответ в случае успеха

200 OK

content:"<div style="color: red" oncl#AAA#ick="alert(123)"><ifr#AAA#ame src="//evil.com"></iframe></div>"
        is_bad:true
        

Собственно, метка is_bad = true, говорящая о том, что в содержимом есть опасные места, и сам текст, помеченный разделителями в опасных местах. Разработчику надлежит изменить такие места перед регистрацией.

Предыдущая
Следующая