スポンサーリンク

Webアプリケーションを作っていると、ほかのページに行って特定の処理を行った後で、また、元のページに戻りたいときがあります。
例えば、ログインが必要な機能を使うときにログインページに行って、ログイン処理を行い、また、さきほどのページに戻る、とか、
メッセージ送信機能を使うために、メッセージ作成ページに遷移して、メッセージ作成・送信を行った後に元のページに戻る、とか
そういったときです。

遷移先で元のページに戻るための情報として、現在のページのURLを渡す必要があります。

PHPで現在のページのURLを取得する方法

下記の例で、URLを簡単に作ることができます。
これは、getenv()で値を受け取っているため、安全な方法ではありません。
XSSの問題が発生します。
<?php
function get_current_url_unsafe(){
	$uri = getenv('REQUEST_URI');
	$https = getenv('HTTPS');
	$host = getenv('HTTP_HOST');
	$protocol = ($https == 'on') ? 'https':'http';
	$url = "{$protocol}://{$host}{$uri}";
	return $url;
}
$url = get_current_url_unsafe();
echo $url;
?>

PHPで現在のページのURLを安全に取得する方法

PHPのfilterモジュールを利用して、必要な情報を取得し、URLを作成します。
FILTER_SANITIZE_STRINGを指定するとタグがスプリットされます。
<?php
function get_current_url(){
	$uri = filter_input(INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_STRING);
	$https = filter_input(INPUT_SERVER, 'HTTPS', FILTER_SANITIZE_STRING);
	$host = filter_input(INPUT_SERVER, 'HTTP_HOST', FILTER_SANITIZE_STRING);
	$protocol = ($https == 'on') ? 'https':'http';
	$url = "{$protocol}://{$host}{$uri}";
	return $url;
}
$url = get_current_url();
echo $url;
?>

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー