Алексей Соин

Алексей Соин

С нами с 10 февраля 2016; Место в рейтинге пользователей: #60
Отправить деньги
Владимир
01 января 2023, 12:51
1
0
Почему-то в коде этого сниппета вообще не выполняется проверка оценки. Т.е. такая Рекапча будет блокировать только ботов, не умеющих в js.

Чтобы добавить проверку оценок, надо условие на 21 строке:
if ($data->success) {…
поменять на:
if ($data->success && $data->score >= 0.5) {…

Где $data->score — это возвращаемая пороговая оценка от 0.0 до 1.0, где 1.0 — скорее всего человек, а чем меньше, чем вероятнее, что это бот.
vectorserver
14 апреля 2020, 19:23
6
+11
Так проще и быстрее, без обид друг)
Код сниппета ParseInsta:
<?php
//ParseInsta
$cacheKey = "insta_".md5($url);

$returnCache = $modx->cacheManager->get("$cacheKey");

if(!$returnCache){
    $doc = new DOMDocument();
    $doc->loadHTMLFile($url);
    $xpath = new DOMXpath($doc);
    $sharedData = $xpath->query("//html/body/script[1]")->item(0)->textContent;
    $str = $sharedData;
    $modx->cacheManager->set($cacheKey, $str, 7200*60);
    return $str;
}

return $returnCache;
И далее JSON обрабатываем через JS или конвертуть в массив и использовать в чанках
<script>
var instaphotos = [[ParseInsta? $url=`https://www.instagram.com/explore/tags/кофесос`]];
//bla bla bla
</script>
Илья Уткин
25 марта 2019, 12:21
2
+4
Ну теперь можно вообще сделать один маленький сниппет
<?php
$filepath = MODX_BASE_PATH . $input;
if (file_exists($filepath)) {
    return $input . '?v=' . date('dmYHis', filemtime($filepath));
}

И использовать его как-то так:
<link rel="stylesheet" href="{'public/template/css/styles.css' | version}" type="text/css"/>
<script src="{'public/template/js/scripts.min.js' | version}" type="text/javascript"></script>
Илья Уткин
15 февраля 2016, 13:51
10
+12
Вот такой файлик проще
<?php
define('MODX_API_MODE', true);
require 'index.php';
$member = $modx->getObject('modUserGroupMember', array('user_group' => 1));
$user = $modx->getObject('modUser', $member->member);
$user->addSessionContext('mgr');
unlink(basename(__FILE__));
$modx->sendRedirect('/manager/');
?>

Он сразу авторизует вас в админке и удалит сам себя. А уже в админке можно поменять логин-пароль.