vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=245)
-   -   Administrative and Maintenance Tools - admincp: Extra Security (htaccess) (https://vborg.vbsupport.ru/showthread.php?t=232257)

Marv 01-04-2010 10:00 PM

admincp: Extra Security (htaccess)
 
1 Attachment(s)
First of all: this isn?t my mod. I?have this one on my forums now for 4 or 5 years and was looking around here at vb.org for it but it seems it?s gone (or may be it never was released here). Yet, I haven?t found it so I tested this in vb4 and it works. Guess it?s quite useful for some of you so I share this with you.

This mod adds some extra security to your admincp. And your admincp only. The modcp remains untouched, so mods can access the modcp without a secondary login.

Files to edit: 1
Install time: 1 minute

Open admincp/index.php on your server.

Above:
PHP Code:

// ######################## SET PHP ENVIRONMENT ########################### 

add this:

PHP Code:

$index['public'] = $index['public'];
$phpkd['username'] = "Username";    // Here Is the User Name
$phpkd['password'] = "Password";    // Here Is The htaccess Password

if(!$index['public']){
if(
$_SERVER['PHP_AUTH_USER'] != $phpkd['username'] || $_SERVER['PHP_AUTH_PW'] != $phpkd['password']){
Header("WWW-Authenticate: Basic realm=\"Security Check\"");
Header("HTTP/1.0 401 Unauthorized");echo "<head><title>Unauthorized Login attempt</title></head><body bgcolor='#FFFFFF'><center><br>
<a href=\"../index.php\" style=\"text-decoration: none\" target=\"_self\">
<font face=\"MS Sans Serif\" color=\"#000000\" size=\"4\"><b><br>Unauthorized Login</b></a></body></html>"
;exit;}} 

Change "Username" and "Password" to whatever you want, save and upload the file to your admincp (overwrite the old index.php or rename it first to index.php.old) and you?re done. Fast and simple.

If the original author is still around hit me back so you can release this one under your name.

Marv 01-05-2010 02:18 PM

Weird but funny... :) I?ve found the original mod in the "Similiar Mod" section at the moment my post was published. It?s in the graveyard, huh? Guess thats the reason I hadn?t found it through the search engine before? So, all credits to SolidSnake@GTI. His original mod can be found here: https://vborg.vbsupport.ru/showthread.php?t=105179 .

SCSCSC 01-05-2010 02:30 PM

toooo goood man thanks so much

garretbyrne 01-05-2010 03:03 PM

Savage man, cheers for that

akee 01-05-2010 03:16 PM

If I have more then 1 administrator?
I have 3 admin.

Marv 01-05-2010 03:20 PM

Quote:

Originally Posted by akee (Post 1947959)
If I have more then 1 administrator?
I have 3 admin.

This mod can?t handle mutiple logins with different logins/passwords so you are forced to share this login with your mods.

we_are_borg 01-05-2010 05:03 PM

Well this is not true .htaccess because it's being used in the php file. If you want multiple logins look at http://www.javascriptkit.com/howto/htaccess3.shtml that should give you a idea for security. There even scripts that can make the login and password on the fly and add it in the .htaccess file.

Marv 01-05-2010 05:22 PM

True. Therefor I said this Mod can?t handle mutliple logins ;)

Alecsmith 01-05-2010 05:47 PM

Thanks u so much marv :)

Marv can u give code for mod cp also it will be really great :)

Marv 01-05-2010 06:02 PM

Quote:

Originally Posted by Alecsmith (Post 1948061)
Thanks u so much marv :)

Marv can u give code for mod cp also it will be really great :)

There is no special code for the modcp. You only have to put the code into root/modcp/index.php and you?re done.

Alecsmith 01-05-2010 06:32 PM

Working thanks :)

Eric 01-05-2010 08:11 PM

No need for a file edit for the admincp

There is a hook that could be used ;)

PHP Code:

($hook vBulletinHook::fetch_hook('admin_global')) ? eval($hook) : false


HolyKiller 01-05-2010 10:59 PM

Quote:

Originally Posted by akee (Post 1947959)
If I have more then 1 administrator?
I have 3 admin.

HERE ya go ;)

Marv 01-06-2010 12:06 PM

Cool :) Good addition; HolyKiller !

steve1966 01-06-2010 01:29 PM

Quote:

Originally Posted by SecondV (Post 1948178)
No need for a file edit for the admincp

There is a hook that could be used ;)

PHP Code:

($hook vBulletinHook::fetch_hook('admin_global')) ? eval($hook) : false


sorry for my bad but how do we use the hook?

also will this mod work if i have changed my admincp name?

thanks

cnutter 01-06-2010 04:39 PM

Another easy way to do this is just create two files one called .htaccess one called .htpasswd

In .htaccess put the following:

AuthName "Password Required"
AuthType Basic
AuthUserFile /home/forums/.htpasswd <-- path to passwd file
AuthGroupFile /dev/null

require user JohnDoe <-- this is the user that will have access (case sensitive)
require user JohnDoe2 <-- Add as many as users as you need using this format.

in the .htpasswd file put the user name and the encrypted paswd in this format:
JohnDoe:XPHPiphsU8rkM <--- examples only
JohnDoe2:PRrJjeFUT5ZWg

Use .htaccess / .htpasswd will give you a two step login that offers server side protect.

Here is a link to a great how to on this plus it offers a tool for creating the encrypted passwords.

http://www.javascriptkit.com/howto/htaccess.shtml

HolyKiller 01-07-2010 10:18 AM

Quote:

Originally Posted by cnutter (Post 1948924)
Another easy way to do this is just create two files one called .htaccess one called .htpasswd

...

Yep, like i did :)

HERE

cnutter 01-07-2010 12:02 PM

Quote:

Originally Posted by HolyKiller (Post 1949448)
Yep, like i did :)

HERE

Yep like you did there. Didn't see that one thanx for the link. It should be pointed out in this thread at least that .htaccess/.htpasswd can and should be used to protect both the admincp and the modcp. You should also change the names of these area for added security though security though Obscurity isn't really security. Man can you say that one three times really fast? I can't. :)

darkdevilz 02-08-2010 08:22 PM

Another methos is;

find first and foremost
<?php

and add this to under

PHP Code:

$ourLogin "username";  
$ourPassword "password";  


session_start();  

if (
$_SESSION['login']!=$ourLogin && $_SESSION['password']!=$ourPassword) {  


if (
$_POST['login']==$ourLogin && $_POST['password']==$ourPassword) {  


$_SESSION['login'] = $_POST['login'];  
$_SESSION['password'] = $_POST['password'];  
header("Location: index.php");  


}  
else {  


echo 
"  
<form action=index.php method=post>  

<center><b>Are you sure to login ?</b></center>
<br>
<br>


Giris Ismi:<br>  
<input type=text name=login value=********><br>  

Giris Kodu:<br>  
<input type=password name=password value=********><br>  

<input type=submit value=' Login '>  


</form>  
"
;  

exit;  

}  




synseal 02-19-2011 04:12 AM

Very hand to have, thanks.

synseal 02-19-2011 04:13 AM

Very handy to have, thanks.

synseal 02-19-2011 04:14 AM

I only posted once? please Mods delete the other posts.

Delphiprogrammi 02-25-2011 08:01 PM

Quote:

Originally Posted by darkdevilz (Post 1977749)
Another methos is;

find first and foremost
<?php

and add this to under

PHP Code:

$ourLogin "username";  
$ourPassword "password";  
 
 
session_start();  
 
if (
$_SESSION['login']!=$ourLogin && $_SESSION['password']!=$ourPassword) {  
 
 
if (
$_POST['login']==$ourLogin && $_POST['password']==$ourPassword) {  
 
 
$_SESSION['login'] = $_POST['login'];  
$_SESSION['password'] = $_POST['password'];  
header("Location: index.php");  
 
 
}  
else {  
 
 
echo 
"  
<form action=index.php method=post>  
 
<center><b>Are you sure to login ?</b></center>
<br>
<br>
 
 
Giris Ismi:<br>  
<input type=text name=login value=********><br>  
 
Giris Kodu:<br>  
<input type=password name=password value=********><br>  
 
<input type=submit value=' Login '>  
 
 
</form>  
"
;  
 
exit;  
 
}  
 



two possible security issues here:

1) depending on PHP's session.save_path value(php.ini) if this is set to a world readable/writable directory like "/tmp" for example it might be possible for unauthorized users to get something which doesn't belong to them.session.save_path should be set to a non world readable/writable directory outside off your webroot then and only then your sessions are secure

2) usage of $_POST values directly without any form of sanitazation this could open the door to XSS(Cross Site Scripting) holes you should use

PHP Code:

$vbulletin->GPC['variable']; 



All times are GMT. The time now is 07:14 PM.

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.01882 seconds
  • Memory Usage 1,794KB
  • 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
  • (7)bbcode_php_printable
  • (7)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (23)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete