Changeset 23132
- Timestamp:
- 2013/08/27 00:19:10 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/data/class/pages/entry/LC_Page_Entry.php
r23124 r23132 82 82 83 83 // PC時は規約ページからの遷移でなければエラー画面へ遷移する 84 if ($this->lfCheckReferer( $_POST, $_SERVER['HTTP_REFERER']) === false) {84 if ($this->lfCheckReferer() === false) { 85 85 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true); 86 86 } … … 270 270 * 1. 規約ページからの遷移かどうか 271 271 * 2. PC及びスマートフォンかどうか 272 * 3. $post に何も含まれていないかどうか272 * 3. 自分自身(会員登録ページ)からの遷移はOKとする 273 273 * 274 274 * @access protected 275 * @param array $post $_POST のデータ276 * @param string $referer $_SERVER['HTTP_REFERER'] のデータ277 275 * @return boolean kiyaku.php からの妥当な遷移であれば true 278 276 */ 279 public function lfCheckReferer(&$post, $referer) 280 { 277 public function lfCheckReferer() 278 { 279 $arrRefererParseUrl = parse_url($_SERVER['HTTP_REFERER']); 280 $referer_urlpath = $arrRefererParseUrl['path']; 281 282 $kiyaku_urlpath = ROOT_URLPATH . 'entry/kiyaku.php'; 283 284 $arrEntryParseUrl = parse_url(ENTRY_URL); 285 $entry_urlpath = $arrEntryParseUrl['path']; 286 287 $allowed_urlpath = array( 288 $kiyaku_urlpath, 289 $entry_urlpath, 290 ); 291 281 292 if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE 282 && empty($post) 283 && (preg_match('/kiyaku.php/', basename($referer)) === 0)) { 293 && !in_array($referer_urlpath, $allowed_urlpath)) { 284 294 return false; 285 295 } 286 296 287 297 return true;
Note: See TracChangeset
for help on using the changeset viewer.