From c59a8a8119a9fdde653c8e5c691d597077120380 Mon Sep 17 00:00:00 2001 From: saxmatt Date: Tue, 5 Oct 2004 08:35:22 +0000 Subject: [PATCH] Changes to how we do redirects. git-svn-id: http://svn.automattic.com/wordpress/trunk@1748 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/options.php | 1 + wp-admin/post.php | 1 + wp-comments-post.php | 2 ++ wp-login.php | 2 +- 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/wp-admin/options.php b/wp-admin/options.php index 5be7da9cb..f21fb228a 100644 --- a/wp-admin/options.php +++ b/wp-admin/options.php @@ -86,6 +86,7 @@ case 'update': $referred = str_replace('?updated=true' , '', $_SERVER['HTTP_REFERER']); $goback = str_replace('?updated=true', '', $_SERVER['HTTP_REFERER']) . '?updated=true'; + $goback = preg_replace('|[^a-z?=&/~.:_-]|i', '', $goback); header('Location: ' . $goback); break; diff --git a/wp-admin/post.php b/wp-admin/post.php index 90e537209..6992d393f 100644 --- a/wp-admin/post.php +++ b/wp-admin/post.php @@ -458,6 +458,7 @@ case 'delete': $sendback = $_SERVER['HTTP_REFERER']; if (strstr($sendback, 'post.php')) $sendback = get_settings('siteurl') .'/wp-admin/post.php'; + $sendback = preg_replace('|[^a-z?=&/~.:_-]|i', '', $sendback); header ('Location: ' . $sendback); do_action('delete_post', $post_id); break; diff --git a/wp-comments-post.php b/wp-comments-post.php index 5492bc6e2..c91e8dae0 100644 --- a/wp-comments-post.php +++ b/wp-comments-post.php @@ -98,6 +98,8 @@ header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Cache-Control: no-cache, must-revalidate'); header('Pragma: no-cache'); $location = (empty($_POST['redirect_to'])) ? $_SERVER["HTTP_REFERER"] : $_POST['redirect_to']; +$location = preg_replace('|[^a-z?=&/~.:_-]|i', '', $location); + if ($is_IIS) { header("Refresh: 0;url=$location"); } else { diff --git a/wp-login.php b/wp-login.php index a0aeaf062..9e0115cf8 100644 --- a/wp-login.php +++ b/wp-login.php @@ -139,7 +139,7 @@ default: if( !empty($_POST) ) { $log = $_POST['log']; $pwd = $_POST['pwd']; - $redirect_to = preg_replace('|[^a-z/~.:_-]|i', '', $_POST['redirect_to']); + $redirect_to = preg_replace('|[^a-z?=&/~.:_-]|i', '', $_POST['redirect_to']); } $user = get_userdatabylogin($log);