форум vBSupport.ru > vBulletin > Вопрос — Ответ
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
-FoX-
Гость
Default Создание хаков

Ребят, подскажите пожалусто как покавать хаки в xml и заставлять при импорте xml добавлять шаблоны в стиль, я просто тут одну весчь придумал а как упаковать и при импорте добавить новые щаблоны и ваще всё это связать...
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
shpunsetoy
Эксперт
 
shpunsetoy's Avatar
Default
0

глянь сюды...установи посмотри какойнить продукт
 
 
Ateist
На доске почёта
...всё с матом, без нравственности и понтов...
 
banned nax
Default
1

А оч просто - то что придумал - загоняй в xml и пиши перед тем, как что то сделать:
PHP Code:
<template name="хрен его знает" templatetype="template" date="66666666" username="BlackSide" version="0.000001 alfa"><![CDATA[что хош???]]></template
Это по шаблону....Конечно я шучу. А по сути - открой любой более менее сложный хак и посмотри, каким способом добавляются таблицы, как добавляются новые шаблоны....Учи...
 
 
-FoX-
Гость
Default

Кажецо понял
 
 
ANGEL OF FIRE
Специалист
 
ANGEL OF FIRE's Avatar
Default
0

Вопрос может быть глупый. Но я одного до сих пор конкретно не понял.

<?xml version="1.0" encoding="ISO-8859-1"?>
<bitfields product="хххххх_stations">
<bitfielddefs>
<group name="ugp">
<group name="хххххх_stations">
<bitfield name="хххххх" group="хххххх_stations" phrase="хххххх">1</bitfield>

Как высчитывается bitfield name? (Помечено красным)
Как я понял любое слово туда не вставишь, но зависит от хака.

Кто знает объясните пожалуйста.
 
 
kerk
k0t
 
kerk's Avatar
Default
3

загляни в таблицу usergroup форума
там есть пермишены груп узеров, сравни значения разных групп
name = имя битового поля
то, что между тегами, его значение
значения возрастают в арифмитической прогрессии,
если первое = 1
второе = 2
третье = 4
четвертое = 8
и так далее
имена назначает тот, кто пишет хак, потом они используются в коде для распределения прав доступа к чему либо на страницах
соответственно при импортировании продукта, должно создаваться это поле в зависимости от имени группы, например в твоем случае это ugp узергруп, значит поля должны быть в таблице usergroup
пример:
имя группы:
<group name="ugp">
это узергруп в табл. узергруп
потом имя твоей группы
<group name="vbgarage_permissions">
=======

из скрина видно, у каждой группы разные значения, у некоторых 0 (ноль) = нет прав
у админов значения больше, чем у других = 207, высчитывается исходя из настроек в админке
=======


все выставлено в "Да", кроме двух, это можно посчитать из файла битовых полей, т.е. следующие строки:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<bitfields product="kr_vbgarage">
    <bitfielddefs>
        <group name="ugp">
            <group name="vbgarage_permissions">
                <bitfield name="vbgarage_can_view_garage" group="vbgarage_permissions" phrase="vbgarage_can_view_garage" install="2,3,4,5,6,7">1</bitfield>
                <bitfield name="vbgarage_can_add_garage" group="vbgarage_permissions" phrase="vbgarage_can_add_garage" install="2,5,6,7">2</bitfield>
                <bitfield name="vbgarage_can_add_comment" group="vbgarage_permissions" phrase="vbgarage_can_add_comment" install="2,5,6,7">4</bitfield>
                <bitfield name="vbgarage_can_use_search" group="vbgarage_permissions" phrase="vbgarage_can_use_search" install="2,5,6,7">8</bitfield>
                <bitfield name="vbgarage_send_adminpm_addforsale" group="vbgarage_permissions" phrase="vbgarage_send_adminpm_addforsale" install="2,5,6,7">16</bitfield>
                <bitfield name="vbgarage_admin_must_confirm_addforsale" group="vbgarage_permissions" phrase="vbgarage_admin_must_confirm_addforsale" install="2,5,6,7">32</bitfield>
                <bitfield name="vbgarage_can_delelete_own_garage" group="vbgarage_permissions" phrase="vbgarage_can_delelete_own_garage" install="2,5,6,7">64</bitfield>
                <bitfield name="vbgarage_can_admin_garage" group="vbgarage_permissions" phrase="vbgarage_can_admin_garage" install="6">128</bitfield>
настройки со значениями 16 и 32
если сложить все значения, всего получится 255
минус 48 == 207
и использование в коде пхп:

PHP Code:
if($permissions['vbgarage_permissions'] & $vbulletin->bf_ugp['vbgarage_permissions']['vbgarage_can_admin_garage'])
{
        
$do_something true;

если имеет админские права, имеет доступ, если в других группах эта настройка выставлена "Нет", соотв. переменная принимает значение false
=====
может не совсем по вопросу, но надеюсь, доступно объяснил =)
 
 
ANGEL OF FIRE
Специалист
 
ANGEL OF FIRE's Avatar
Default
0

Спасибо kerk. То что назначается для пользователей (таблица usergroup) это я понял из описание ещё от самих буллетинцев. Перечитал от них мануал.

У меня вот такая проблема.

Quote:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bitfields product="checker_stations">
<bitfielddefs>
<group name="ugp">
<group name="checker_stations">
<bitfield name="rs_can_transliren" group="checker_stations" phrase="rs_can_checken">1</bitfield>
</group>
</group>
</bitfielddefs>
</bitfields>
Вот, если я ставлю название rs_can_transliren, то всё работает, но это я беру от своего старого хака.

А вот если я тут название другие напишу, например rs_can_view, то при выставлении на да, всё равно на страницу не пускает.

Quote:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bitfields product="checker_stations">
<bitfielddefs>
<group name="ugp">
<group name="checker_stations">
<bitfield name="rs_can_view" group="checker_stations" phrase="rs_can_checken">1</bitfield>
</group>
</group>
</bitfielddefs>
</bitfields>
Вот поэтому я и спросил. Откуда берётся само название именно <bitfield name=

<group name="ugp"> - это зависит от таблицы
group="checker_stations" - моё название
"rs_can_checken" - фраза показывающая в группах


Но вот так и не понял откуда берётся название <bitfield name=. Посмотрел в хаках, такое ощущение что название это можно самому придумать, но не прокатывает.
В самом продукте оно не участвует. В таблицах тоже нету.
 
 
kerk
k0t
 
kerk's Avatar
Default
1

посмотри код пхп в моем посте, там используется поле vbgarage_can_admin_garage, которое не что иное, как имя битового поля из файла
Code:
<bitfield name="vbgarage_can_admin_garage" group="vbgarage_permissions" phrase="vbgarage_can_admin_garage" install="6">128</bitfield>
в твоем случае нужно искать использование этого пермишна в коде пхп =)
 
 
ANGEL OF FIRE
Специалист
 
ANGEL OF FIRE's Avatar
Default
0

Аха. теперь понял. Я просто страничку сделал. Там текст хтмл, вот и думал закрыть её от гостей, что бы не напрягали. Спасибо kerk
 
 
kerk
k0t
 
kerk's Avatar
Default
1

ммм... с хтмл это не прокатит =)
или пхп файл генерит твою страницу?
может проще сделать? т.е. без использования пермишнов
PHP Code:
require_once('./global.php');
if(
$show['guest'])
{
     
print_no_permission();

 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 04:34 AM.


Powered by vBulletin® Version 3.6.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...