Hello everyone!
I am looking for the best way on closing down access to all guests visiting my website.
I do not mean not letting them see the forums. I mean hiding the whole board from guests and redirect them to the log in page when ever they visit any page.
What is the best way of doing this?
Thanks in advance.
Closing my phpBB's access
Forum rules
Please post any phpBB 3.1.x related topics in the phpBB 3.1.x discussion forum.
Please post any phpBB 3.1.x related topics in the phpBB 3.1.x discussion forum.
Closing my phpBB's access
Never Say Never!
- tumba25
- Supporter
- Posts: 1049
- Joined: 24 Oct 2007, 13:10
- Real name: Jari Kanerva
- Location: Kokkola, Finland.
- Contact:
Re: Closing my phpBB's access
ATM I can't think of any easier way than to add a check to function session_begin() in session.php. Something like this.
Open includes/session.php
FIND
BEFORE ADD
Almost not tested at all. That gives only access to ucp.php for not logged in users. Allowing them to login or register. If you disable registration they will of course not have access to that page either.
Open includes/session.php
FIND
Code: Select all
$this->data['is_registered'] = ($this->data['user_id'] != ANONYMOUS && ($this->data['user_type'] == USER_NORMAL || $this->data['user_type'] == USER_FOUNDER)) ? true : false;
BEFORE ADD
Code: Select all
if ($this->data['user_id'] == ANONYMOUS && strpos($this->page['page'], "ucp.$phpEx") === false)
{
redirect(append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login'));
}
Almost not tested at all. That gives only access to ucp.php for not logged in users. Allowing them to login or register. If you disable registration they will of course not have access to that page either.
Re: Closing my phpBB's access
I tested this and it works!
Instead of using the UCP page, how can i use my own page which would be the index.php of my website, a login screen for unregistered users?
Thanks for the help.
Instead of using the UCP page, how can i use my own page which would be the index.php of my website, a login screen for unregistered users?
Thanks for the help.
Never Say Never!
- tumba25
- Supporter
- Posts: 1049
- Joined: 24 Oct 2007, 13:10
- Real name: Jari Kanerva
- Location: Kokkola, Finland.
- Contact:
Re: Closing my phpBB's access
Your website being the forum? Or some external page? I assume the website is the forum.
Open includes/session.php
Replace the code you added above with this
Open index.php
FIND
ADD AFTER
Unless you plan to replace the whole index.php with ucp.php you need to have it accessible for guests. You could of course with some more edits incluce ucp.php in index.php when the user is not logged in. So guests never can access ucp.php. But I'm to tired to think about that now, need to get some sleep.
Open includes/session.php
Replace the code you added above with this
Code: Select all
if ($this->data['user_id'] == ANONYMOUS && strpos($this->page['page'], "index.$phpEx") === false && strpos($this->page['page'], "ucp.$phpEx") === false)
{
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
}
Open index.php
FIND
Code: Select all
$user->setup('viewforum');
ADD AFTER
Code: Select all
if ($user->data['user_id'] == ANONYMOUS)
{
$user->add_lang('ucp');
$s_hidden_fields = array(
'sid' => $user->session_id,
'redirect' => "{$phpbb_root_path}index.$phpEx"
);
$template->set_filenames(array(
'body' => 'login_body.html'
));
$s_hidden_fields = build_hidden_fields($s_hidden_fields);
$template->assign_vars(array(
'USERNAME' => '',
'USERNAME_CREDENTIAL' => 'username',
'PASSWORD_CREDENTIAL' => 'password',
'S_AUTOLOGIN_ENABLED' => ($config['allow_autologin']) ? true : false,
'S_DISPLAY_FULL_LOGIN' => true,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_LOGIN_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login'),
'S_LOGIN_REDIRECT' => build_hidden_fields(array('redirect' => build_url())),
'U_RESEND_ACTIVATION' => ($config['require_activation'] == USER_ACTIVATION_SELF && $config['email_enable']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=resend_act') : '',
'U_SEND_PASSWORD' => ($config['email_enable']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=sendpassword') : '',
));
// Output page
page_header($user->lang['LOGIN']);
page_footer();
}
Unless you plan to replace the whole index.php with ucp.php you need to have it accessible for guests. You could of course with some more edits incluce ucp.php in index.php when the user is not logged in. So guests never can access ucp.php. But I'm to tired to think about that now, need to get some sleep.
Re: Closing my phpBB's access
Here is what i am looking to do:
If a user isn't logged in, i want them redirected to an external page that i have created for my forum that would ask them to log in.
If a user isn't logged in, i want them redirected to an external page that i have created for my forum that would ask them to log in.
Never Say Never!
Re: Closing my phpBB's access
I could also modify the ucp.php file to fit my login needs and use it.
Any idea what file i need to edit to modify the ucp.php login?
Any idea what file i need to edit to modify the ucp.php login?
Never Say Never!
- tumba25
- Supporter
- Posts: 1049
- Joined: 24 Oct 2007, 13:10
- Real name: Jari Kanerva
- Location: Kokkola, Finland.
- Contact:
Re: Closing my phpBB's access
EY wrote:Any idea what file i need to edit to modify the ucp.php login?
ucp.php? That would depend on what you want to modify. The login_box() function is in functions.php.
Re: Closing my phpBB's access
I got it all working.
I used the first code you gave me and i then modified my login_body.html to remove everything i needed.
Thank you very much for your help!
I used the first code you gave me and i then modified my login_body.html to remove everything i needed.
Thank you very much for your help!
Never Say Never!
- tumba25
- Supporter
- Posts: 1049
- Joined: 24 Oct 2007, 13:10
- Real name: Jari Kanerva
- Location: Kokkola, Finland.
- Contact:
Re: Closing my phpBB's access
You're welcome.