查看完整版本 : 防止直接訪問php文件檔

龍王鯨 2019-5-26 06:49

有兩個php分別係 1.php 同 2.php,我想令到必需要經過1.php才可以到達2.php,如果直接輸入2.php既網址或其他地方進入會顯示禁止非法進入,冇MySQL既話成個點樣寫?

111x111=12321 2019-5-26 08:45

竟然同mysql有關?

qrcodereader 2019-5-26 15:01

2.php

if(strpos($_SERVER['HTTP_REFERER'], 'localhost/1.php') == false){
die('非法進入');
}

[[i] 本帖最後由 qrcodereader 於 2019-5-26 03:03 PM 編輯 [/i]]

龍王鯨 2019-5-27 07:02

[quote]原帖由 [i]qrcodereader[/i] 於 2019-5-26 03:01 PM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=499966060&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]
2.php

if(strpos($_SERVER['HTTP_REFERER'], 'localhost/1.php') == false){
die('非法進入');
} [/quote]
感謝回覆,如果我想1.php禁止直接輸入網址進入的話應該點寫?

[[i] 本帖最後由 龍王鯨 於 2019-5-27 07:03 AM 編輯 [/i]]

龍王鯨 2019-5-27 07:03

[quote]原帖由 [i]111x111=12321[/i] 於 2019-5-26 08:45 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=499946832&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]
竟然同mysql有關? [/quote]
因為我唔識mysql,所以打定底先

111x111=12321 2019-5-27 09:00

[quote]原帖由 [i]龍王鯨[/i] 於 2019-5-27 07:02 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500002526&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]

感謝回覆,如果我想1.php禁止直接輸入網址進入的話應該點寫? [/quote]

你補充再問 0.php => 1.php => 2.php :smile_41:

照辦煮碗! :lol

尹巴士頓 2019-5-27 11:32

唔知用javascript 既sessionStorage 得唔得呢?

ghostkcleung 2019-5-27 13:50

我嘅寫法係…
index.php 裡面,
首先處理好啲 $_GET, $_POST, $_SESSION, $_COOKIE
然後因應情況去 include 或者 require 其他 PHP, 直情唔會俾 client browser 知你裡面有咩 file。

111x111=12321 2019-5-27 13:59

[quote]原帖由 [i]尹巴士頓[/i] 於 2019-5-27 11:32 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500012880&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]
唔知用javascript 既sessionStorage 得唔得呢? [/quote]
我覺得得.:D

龍王鯨 2019-5-27 16:16

[quote]原帖由 [i]111x111=12321[/i] 於 2019-5-27 09:00 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500005736&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]


你補充再問 0.php => 1.php => 2.php :smile_41:

照辦煮碗! :lol [/quote]
唔係丫, 因為1.php再之前唔係我既網站黍, 所以唔知點算

111x111=12321 2019-5-27 17:07

[quote]原帖由 [i]龍王鯨[/i] 於 2019-5-27 04:16 PM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500025783&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]

唔係丫, 因為1.php再之前唔係我既網站黍, 所以唔知點算 [/quote]


有關係嗎?:smile_42:

0.php是他人, 1.php 2.php是你,
你計劃容許 0->1->2
不容許 2
不容許 1->2

然而不容許2的方法是改寫2,
那麼不容許1->2, 都是改寫1.

howevera 2019-5-31 09:38

[quote]原帖由 [i]龍王鯨[/i] 於 2019-5-27 04:16 PM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500025783&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]

唔係丫, 因為1.php再之前唔係我既網站黍, 所以唔知點算 [/quote]

咁咩情況先 access 倒 1.php?

口口口多水 2019-5-31 23:18

[quote]原帖由 [i]ghostkcleung[/i] 於 2019-5-27 01:50 PM 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=500019346&ptid=28241670][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]
我嘅寫法係…
index.php 裡面,
首先處理好啲 $_GET, $_POST, $_SESSION, $_COOKIE
然後因應情況去 include 或者 require 其他 PHP, 直情唔會俾 client browser 知你裡面有咩 file。 ... [/quote]
你覺得睇唔到咩:fst_010:

龍王鯨 2019-6-4 04:05

[quote]原帖由 [i]howevera[/i] 於 2019-5-31 09:38 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500215269&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]


咁咩情況先 access 倒 1.php? [/quote]
paypal.com(付款後) > 1.php > 2.php

howevera 2019-6-4 09:16

[quote]原帖由 [i]龍王鯨[/i] 於 2019-6-4 04:05 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500418927&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]

paypal.com(付款後) > 1.php > 2.php [/quote]

咁你應該用上面提及果個 $_SERVER['HTTP_REFERER'], check 下有冇含有 paypal.com (assume 付款果個 domain 係 paypal.com), 有就繼續行, 冇就 reject.

[[i] 本帖最後由 howevera 於 2019-6-4 09:18 AM 編輯 [/i]]

howevera 2019-6-4 09:17

[quote]原帖由 [i]howevera[/i] 於 2019-6-4 09:16 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500423994&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]


咁你應該用上面提及果個 $_SERVER['HTTP_REFERER'], check 下有冇含有 paypal.com (assume 付款果個 domain 係 paypal.com), 有就繼續行, 冇就 reject. [/quote]

按錯左回覆. :smile_13:

[[i] 本帖最後由 howevera 於 2019-6-4 09:18 AM 編輯 [/i]]

龍王鯨 2019-6-5 07:24

[quote]原帖由 [i]howevera[/i] 於 2019-6-4 09:16 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500423994&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]


咁你應該用上面提及果個 $_SERVER['HTTP_REFERER'], check 下有冇含有 paypal.com (assume 付款果個 domain 係 paypal.com), 有就繼續行, 冇就 reject. [/quote]
感謝:loveliness:, 咁樣? 但係從其他http網站上連結去到我網站就冇問題, 但paypal.com就唔work, 我的網站係http, 因為paypal係https的原因? 或者有其他原因? 點解決?

<?php
        if(stristr($_SERVER['HTTP_REFERER'], "https://www.paypal.com")) {
?>


<?php
}
// 否則去到這個檔案
else  {
header("Location: test.html");
}
?>

[[i] 本帖最後由 龍王鯨 於 2019-6-5 08:26 AM 編輯 [/i]]

howevera 2019-6-5 09:21

你最好 echo 一下 $_SERVER['HTTP_REFERER'] 係乜, 未必係 [url]www.paypal.com.[/url] for example, order.paypal.com 都唔定.


但另一方面, 我就認為有較好做法 (如果你識寫). 因為你話係 paypal.com 付款後跳去你果頁. 即係你之前係 call paypal 付款, 理論上你比完錢係要 check paypal 能唔能夠成功之類. 你應該 睇返 paypal d API 係點寫. But 我冇寫過 paypal, 全靠估。

[quote]原帖由 [i]龍王鯨[/i] 於 2019-6-5 07:24 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500472933&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]

感謝:loveliness:, 咁樣? 但係從其他http網站上連結去到我網站就冇問題, 但paypal.com就唔work, 我的網站係http, 因為paypal係https的原因? 或者有其他原因? 點解決?

<?php
        if(stristr($_SERVER['HTTP_REFERER'], "https://www.paypal.com")) {
?>

... [/quote]

龍王鯨 2019-6-5 09:37

[quote]原帖由 [i]howevera[/i] 於 2019-6-5 09:21 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=500477378&ptid=28241670][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]
你最好 echo 一下 $_SERVER['HTTP_REFERER'] 係乜, 未必係 [url=http://www.paypal.com.]www.paypal.com.[/url] for example, order.paypal.com 都唔定.


但另一方面, 我就認為有較好做法 (如果你識寫). 因為你話係 paypal.com 付款後跳去你果頁. 即係你之前係 call paypal 付款, 理論上你比完錢係要 check paypal ... [/quote]
因為我自己開左新既paypal ac試買過, 每次paypal網址產生既序號都唔同:smile_27:, 只填www.paypal.com佢又去唔到1.php:smile_13:,去左test.html,

買完之後用最後既網址copy上去再上傳去自己既網站上面,之後click去1.php,應該係去到1.php的, 但係去左test.html........

佢最後既網址太約係咁樣:
[url=https://www.paypal.com/webapps/hermes?token=6Y0207233KKH01A&useraction=commit&rm=1&mfid=1559683944585_3d845f602df16#/checkout/done]https://www.paypal.com/webapps/hermes?token=6Y0207233KKH01A&useraction=commit&rm=1&mfid=1559683944585_3d845f602df16#/checkout/done[/url]

我用iphone,paypal既網站都係https開頭,如果用m.paypal.com瀏覽佢都係跳返去[url=https://www.paypal.com/webapps/hermes?token=6Y0207233KKH01A&useraction=commit&rm=1&mfid=1559683944585_3d845f602df16#/checkout/done]https://www.paypal.com[/url]

所以我才令我產生疑或係唔係因為佢https我http,所以先咁樣.....

[[i] 本帖最後由 龍王鯨 於 2019-6-5 10:05 AM 編輯 [/i]]

口口口多水 2019-6-5 20:03

睇下paypal 個api 寫咩,正常佢會教你server點比錢同callback 返去你server
[url=https://developer.paypal.com/docs/api/orders/v2/]https://developer.paypal.com/docs/api/orders/v2/[/url]
呢版應該幫到你

hongdoujiao

*** 作者被禁止或刪除 內容自動屏蔽 ***

petrovedvard0 2019-6-23 09:14

竟然同mysql有關?

ovalkop 2019-6-23 09:15

你覺得睇唔到咩
頁: [1]
查看完整版本: 防止直接訪問php文件檔