Revision 1400
Added by FrankH almost 15 years ago
- Security fix in account
- Security fix in admin/media, thanks to hal 9000
| create.php | ||
|---|---|---|
| 1 | 1 | <?php | 
| 2 | /** | |
| 3 | * | |
| 4 | * @category admin | |
| 5 | * @package admintools | |
| 6 | * @author WebsiteBaker Project | |
| 7 | * @copyright 2004-2009, Ryan Djurovich | |
| 8 | * @copyright 2009-2011, Website Baker Org. e.V. | |
| 9 | * @link http://www.websitebaker2.org/ | |
| 10 | * @license http://www.gnu.org/licenses/gpl.html | |
| 11 | * @platform WebsiteBaker 2.8.x | |
| 12 | * @requirements PHP 5.2.2 and higher | |
| 13 | * @version $Id$ | |
| 14 | * @filesource $HeadURL: $ | |
| 15 | * @lastmodified $Date: $ | |
| 16 | * | |
| 17 | */ | |
| 2 | 18 |  | 
| 3 | // $Id$ | |
| 4 |  | |
| 5 | /* | |
| 6 |  | |
| 7 | Website Baker Project <http://www.websitebaker.org/> | |
| 8 | Copyright (C) 2004-2009, Ryan Djurovich | |
| 9 |  | |
| 10 | Website Baker is free software; you can redistribute it and/or modify | |
| 11 | it under the terms of the GNU General Public License as published by | |
| 12 | the Free Software Foundation; either version 2 of the License, or | |
| 13 | (at your option) any later version. | |
| 14 |  | |
| 15 | Website Baker is distributed in the hope that it will be useful, | |
| 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 18 | GNU General Public License for more details. | |
| 19 |  | |
| 20 | You should have received a copy of the GNU General Public License | |
| 21 | along with Website Baker; if not, write to the Free Software | |
| 22 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 23 |  | |
| 24 | */ | |
| 25 |  | |
| 26 | 19 | // Get dir name and target location | 
| 27 | 20 | if(!isset($_POST['name']) OR $_POST['name'] == '') {
 | 
| 28 | 21 | 	header("Location: index.php");
 | 
| ... | ... | |
| 42 | 35 | require_once(WB_PATH.'/framework/class.admin.php'); | 
| 43 | 36 | $admin = new admin('Media', 'media_create');
 | 
| 44 | 37 |  | 
| 38 | if (!$admin->checkFTAN()) | |
| 39 | {
 | |
| 40 | $admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL); | |
| 41 | exit(); | |
| 42 | } | |
| 43 |  | |
| 45 | 44 | // Include the WB functions file | 
| 46 | 45 | require_once(WB_PATH.'/framework/functions.php'); | 
| 47 | 46 |  | 
| 48 | 47 | // Check to see if name or target contains ../ | 
| 49 | if(strstr($name, '../')) {
 | |
| 48 | if(strstr($name, '..')) {
 | |
| 50 | 49 | $admin->print_error($MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH']); | 
| 51 | 50 | } | 
| 52 | if(strstr($target, '../')) {
 | |
| 51 | if (!check_media_path($target, false)) {
 | |
| 52 | 	w_debug("target: $target");
 | |
| 53 | 53 | $admin->print_error($MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH']); | 
| 54 | 54 | } | 
| 55 | 55 |  | 
Also available in: Unified diff