2015-06-12 56 views
0

是否可以隱藏我在php中使用的URL鏈接,以便不向用戶顯示以防止用戶更改URL鏈接?我在另一個php頁面上使用get函數來檢索包ID。如何隱藏CSS中的PHP URL鏈接

比如我有一個PHP URL這樣的代碼:

<a href="banner.php?packageID=1234" > 

當鏈接,用戶點擊並導致URL,是可以隱藏的「1234」,並只顯示banner.php包標識=僅在URL鏈接上?

請指導我完成此操作。由於

+0

爲什麼不使用服務器端URL重寫,如Apache的.htaccess與mod_rewrite,或NGINX與代理重寫,所以你可以鏈接到「橫幅/ 1234」,並讓你的服務器,內部,將其重寫爲'banner.php?packageID = 1234'? –

回答

0

爲此,您可以使用.htaccess文件,添加以下代碼

.htaccess文件

options -multiviews 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^banner/([^/.]+)?$ banner.php?packageID=$1&%{QUERY_STRING} 

在PHP

<a href="banner/1234" > 
+0

他想隱藏'1234',他不想要更好的網址.. – Avinash

1

不,它不是」可能。但是,您可以使用重寫規則來改變URL請求,使得它看起來是這樣的:banner.php/1234

一種不同的方法是使用POST請求與表單,像這樣:

<form method="post" action="banner.php"> 
<input type="hidden" name="packageID" value="1234"> 
<button type="submit">Go</button> 
</form> 

在這種情況下,只有按鈕是可見的。該按鈕可以像鏈接一樣,

0

用簡單的話來說就是不可能從URL中隱藏該值。以下是其他方法給你:

方法1

使用更好的URL像banner/1234

方法2

用戶稱號值,而不是編號喜歡banner/banner-title,我建議這一點。

0

您可以傳遞加密格式的packageID,以便用戶無法猜測或修改它。

0

我檢查了你的問題。它不可能使用CSS隱藏HTML標記中的特定屬性。 你可以看到下面的帖子也: How to hide href attribute of <A> tag via css when using window.print

另一個選項上面可以以加密格式或URL重寫使用包標識。

還有一個選項,您可以用JavaScript或jQuery的嘗試象下面這樣:

<a href="http://example.com/banner.php?packageID=" rel="1234" id="testurl" >testing</a> 

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
    jQuery("#testurl").click(function(){ 
     var rel = jQuery(this).attr('rel'); 
     var href = jQuery(this).attr('href'); 
     window.location = href+rel; 
     return false; 
    }); 
}); 
</script> 
0

您也可以使用此:

<a href="javascript:;" onclick="window.location='banner.php?packageID=1234'" >

<a href="banner.php?packageID=" onclick="window.location='banner.php?packageID=1234';return false;" >

但我不認爲是t他最好的方式來隱藏URL,