ArcEmu: [Tutorial] Page Includes - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Tutorial] Page Includes

#1 User is offline   BInaryX 

  • Newbie
  • Group: Members
  • Posts: 9
  • Joined: 16-October 09

Posted 16 October 2009 - 02:05 PM

This is an simple tutorial so you can for example use:

/apple/index.php?page=main as a link to include main.php
instead of /apple/main.php

<?php

$allowed_pages = array('main' => 1,'main2' => 2); //put in the pages allowed.
if(isset($_GET['page']) //check if they submit the page? parameter
{
 if(file_exists($_GET['page'] && array_key_exists($_GET['page'],$allowed_pages))) //check if the file exists & is in $allowed_pages
  {

    $incl = trim(htmlentities($_GET['x'],ENT_QUOTES));//Secure input(remove *'*) & remove any whitespace.
    include($incl);
    die();//make sure we dont read the else if the file exists.
  }
  else{ //OH NOES file doesnt exist!
  
  die('This page does not exist!!');
  
  }


}
else{ //if "?page=" isn't specified.

/*
PLACE DEFAULT CONTENT HERE
*/
echo'Welcome to my index page!';



}
?>



place this in index.php then use: index.php?page=main for example.
Theres alot more securing to do, i'll leave that up to you.
also str_replace(); would be much much more secure.

I hope this was helpfull for anyone,feel free to correct me in this script if you know a better way.
If you would like you can add me to msn messenger; binaryx@live.nl.

NOTE: i only accept when u private message me here on the forum with a good reason why u added me.

Cya!
0

#2 User is offline   Bob Herman 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 452
  • Joined: 11-October 08
  • Gender:Male

Posted 16 October 2009 - 08:51 PM

This is what I use:

$page = $_GET['page'];

if(file_exists( 'apple/' . $page . '.php' ))
	include 'apple/' . $page . '.php';
else
	include 'apple/index.php';


Basically it first get's the page variable from a URL like:

?page=name


Then it checks if the file exists in the folder 'apple' (it also adds the ending 'php' to the file's name). If the file exists, then it includes the page asked for, if not, then it loads the index.php page. It's pretty fool proof, and it works great. Also, it loads the index page if you put in a page that doesn't exist.

You could also change the script to:

$page = $_GET['page'];

if(file_exists( 'apple/' . $page . '.php' ))
	include 'apple/' . $page . '.php';
elseif($page != '')
	include 'apple/pagenotfound.php';
else
	include 'apple/index.php';


That loads the file 'pagenotfound.php' if the page isn't found or doesn't exist. Otherwise good script ^_^
0

#3 User is offline   BInaryX 

  • Newbie
  • Group: Members
  • Posts: 9
  • Joined: 16-October 09

Posted 17 October 2009 - 04:46 AM

Yeah, it coudl be improved in many ways.
0

#4 User is offline   Phail 

  • Member
  • Pip
  • Group: Members
  • Posts: 22
  • Joined: 25-April 09

Posted 12 November 2009 - 09:13 AM

View PostBob Herman, on 16 October 2009 - 08:51 PM, said:

This is what I use:

$page = $_GET['page'];

if(file_exists( 'apple/' . $page . '.php' ))
	include 'apple/' . $page . '.php';
else
	include 'apple/index.php';


Basically it first get's the page variable from a URL like:

?page=name


Then it checks if the file exists in the folder 'apple' (it also adds the ending 'php' to the file's name). If the file exists, then it includes the page asked for, if not, then it loads the index.php page. It's pretty fool proof, and it works great. Also, it loads the index page if you put in a page that doesn't exist.

You could also change the script to:

$page = $_GET['page'];

if(file_exists( 'apple/' . $page . '.php' ))
	include 'apple/' . $page . '.php';
elseif($page != '')
	include 'apple/pagenotfound.php';
else
	include 'apple/index.php';


That loads the file 'pagenotfound.php' if the page isn't found or doesn't exist. Otherwise good script :blink:


index.php&page=../config
wat
0

#5 User is offline   Bob Herman 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 452
  • Joined: 11-October 08
  • Gender:Male

Posted 12 November 2009 - 05:08 PM

That won't work. I just tested it out on my computer :)
0

#6 User is offline   Phail 

  • Member
  • Pip
  • Group: Members
  • Posts: 22
  • Joined: 25-April 09

Posted 13 November 2009 - 07:47 AM

View PostBob Herman, on 12 November 2009 - 05:08 PM, said:

That won't work. I just tested it out on my computer :D


Actually it would, what you gave access to is known as a RFI (remote file inclusion).
0

#7 User is offline   Bob Herman 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 452
  • Joined: 11-October 08
  • Gender:Male

Posted 13 November 2009 - 06:25 PM

Err, okay. But dude - test it out, it won't work.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users