vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   if() vBCode - Private Post Text Hack (https://vborg.vbsupport.ru/showthread.php?t=48492)

NuclioN 02-04-2003 08:30 AM

I've tested this but i can not find the right code to make a message for a member that can not be read by unregistered/not loggedin users. :(

How does the code looks if we want to let only the sender and reciever and the admin can view those messages?

What difference does the $ in this code means??

[if($bbusername=="MEMBER")]test1[/if]
[if(bbusername=="MEMBER")]test2[/if]

Davey 02-04-2003 08:43 AM

This is a nice hack, except all the possible exploitable methods of using it.
If you add this, don't give members access.
They can cause parse errors at the drop of a hat, no? (Point this out if I'm wrong, by all means)
[if($bbusername=")]Hi I'm exploiting you.[/if]

Dave.

NuclioN 02-04-2003 08:51 AM

Hm..i've found out that this: [if($bbusername=="MEMBER")]test1[/if] is visible for everyone. The other codes are working fine. :)

Slynderdale 02-04-2003 09:55 AM

Quote:

Originally posted by Davey
This is a nice hack, except all the possible exploitable methods of using it.
If you add this, don't give members access.
They can cause parse errors at the drop of a hat, no? (Point this out if I'm wrong, by all means)
[if($bbusername=")]Hi I'm exploiting you.[/if]

Dave.


Actually the bb and $bb stuff arent used in the posts, they use $bbuserinfo[] and $post[], i have it so it creates $bb vars out of the $bbuserinfo array, like $bbuserinfo[posts] is $bbposts, also I thought about what you said though, Ill add a checker for the code so it check for single = and not == or != and so on and then makes it == for you automticly to prevent some bugs from happening.

Slynderdale 02-04-2003 09:58 AM

Quote:

Originally posted by NuclioN
I've tested this but i can not find the right code to make a message for a member that can not be read by unregistered/not loggedin users. :(

How does the code looks if we want to let only the sender and reciever and the admin can view those messages?

What difference does the $ in this code means??

[if($bbusername=="MEMBER")]test1[/if]
[if(bbusername=="MEMBER")]test2[/if]

Theres no different between them, i added a way so it works even if you dont add a $. And I tried:

[if($bbusername=="Admin")]test1[/if] and it worked, but ill look into it for you and see what I can do, also if you want text to show for just guests you can use:

[if($bbuserid==0)]test1[/if]

and just for members:

[if($bbuserid>0)]test1[/if]

Slynderdale 02-04-2003 10:10 AM

Also note, how I have it, the person who posted the post can see all the private text in the post even if they normaly cant, so if they did:
[if(bbuserid==0)]

they still can see it in there post.

Slynderdale 02-04-2003 10:20 AM

Hmm, I read up more on extract(), from what i read, all it does is exports an array as references an doesnt actualy make them global, so if you have $bbuerinfo[username]="exploit" for instance, it will just change the var in the function, not in the actual post itself, so users ant exploit it and mess with the post varibles.

Slynderdale 02-04-2003 11:34 AM

Ok, big update, i recoded alot of the function so replace your old one with this:

I also updated the text file with it.

See latest Fix here:
https://vborg.vbsupport.ru/showthrea...167#post367167

Slynderdale 02-04-2003 12:03 PM

Also in the update now, only admins see the (code) bit next to private Text, normal users only see Private Text, also you can edit the private text table colors and so on with the privatetext_ style in the headinclude if you like.

With this update it should now get rid of 99% of the bugs, security problems and exploits, only functions you allow will be pass through now, if you dont wanna allow any just make it array(), Also now how its made you can use () to group varibles now like:
[if($bbuserid>0 and ($bbposts>300 or $bbusergroupid==6))]Text[/if]

Slynderdale 02-04-2003 01:15 PM

Hmm, I fixed a small bug in it, before it would remove the functons like max() but i didnt take into cosideration that some one might put a space between it like max (), so i fixed it, i fixed the download file and the post update above, just make sure that your code looks like this if you installed the update above before i fixed it:

PHP Code:

    foreach ($allfuncs['internal'] as $name) {
      if (!
in_array($name,$allowed_functions)) {
        
$search_array[] = "/($name)(.*)(\()(.*)(\))/siU";
        
$replace_array[] = "\\\4";
      }
    }
    foreach (
$allfuncs['user'] as $name) {
      if (!
in_array($name,$allowed_functions)) {
        
$search_array[] = "/($name)(.*)(\()(.*)(\))/siU";
        
$replace_array[] = "\\\4";
      }
    } 


I hope you enjoy this hack, if any one has any comments or idea's feel free to ask, also feedback is nice too. All I ask of you if you use this hack on your forum is to click nt install button, thats all.


All times are GMT. The time now is 06:18 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01079 seconds
  • Memory Usage 1,745KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete