本文目錄一覽:
php 禁止外部提交數據代碼
最好在數據庫里的用戶表裡有一個記錄是否登錄的標誌位字段
例如:
user(userName,userPassword,userLoginFlag)
用戶表(用戶名,密碼,是否登錄標誌位)
登錄的時候就判斷用戶名和密碼是否正確,並且修改登錄標誌位,然後這些用戶名都是通過session 或 cookie傳遞,因為其他頁面如果都是用?xx=yy 這種方法,就會產生您所述的情況,另外還要多寫一個文件,用來判斷傳遞過來的「登錄標誌位」是true or false,
例如:
check.php
// 判斷地址傳遞的用戶名值和頁面cookie傳遞的用戶名值是否相等,不同則證明是人為修改的了啦,另外建議不用GET傳遞,不解釋,就算萬不得已要用get,我建議你encodeURI(escape(傳遞值)),或者再加一些自定義的編碼,我想修改者改起來也沒那麼容易。
if($_COOKIE[“userName”] != $_GET[“userName”])
{
echo “script…../script”; // 提示退出,等等
}
然後除了登錄的那個頁面以外的頁面都
include()這個check.php,
那無論他怎麼修改地址傳遞的值時,必須要重新加載一次頁面,加載的時候就必須判斷cookie值和地址值的相等與否
PHP中限制IP段訪問、禁止IP提交表單的代碼
我們只要在feedback.php中添加下面的代碼進行判斷就可以了。
注意:下邊只是一個PHP限制IP的實例代碼,如果您打算應用到CMS中,請自行修改,或者如果您正在使用DEDECMS,可以聯繫本站。
複製代碼
代碼如下:
?php
//加IP訪問限制
if(getenv(‘HTTP_CLIENT_IP’)
strcasecmp(getenv(‘HTTP_CLIENT_IP’),
‘unknown’))
{
$userip
=
getenv(‘HTTP_CLIENT_IP’);
}
elseif(getenv(‘HTTP_X_FORWARDED_FOR’)
strcasecmp(getenv(‘HTTP_X_FORWARDED_FOR’),
‘unknown’))
{
$userip
=
getenv(‘HTTP_X_FORWARDED_FOR’);
}
elseif(getenv(‘REMOTE_ADDR’)
strcasecmp(getenv(‘REMOTE_ADDR’),
‘unknown’))
{
$userip
=
getenv(‘REMOTE_ADDR’);
}
elseif(isset($_SERVER[‘REMOTE_ADDR’])
$_SERVER[‘REMOTE_ADDR’]
strcasecmp($_SERVER[‘REMOTE_ADDR’],
‘unknown’))
{
$userip
=
$_SERVER[‘REMOTE_ADDR’];
}
//限制ip
if
($userip==’27.37.188.128′){
header(“location:”);//被禁止後跳轉到腳本之家站
exit;
}
//限制ip段
$ip_arr
=
explode(‘.’,
$userip);
#限制的ip段,假設是192.168.*.*
if
(!(($ip_arr[0]
==
‘192’
$ip_arr[1]==’168′)
)){
header(“location:”);//被禁止後跳轉到腳本之家素材站
exit;
}else{
header(“location:”);//正常IP則直接訪問腳本之家首頁
exit;
}
?
PHP代碼如何防止外部網站提交表單到本站
外部網站提交到本站的目的是什麼?無非是為了段時間灌入大量數據,只要在時間上,對同一個用戶名作出提交次數的限制,就能實現,如果沒有用戶名,可以用判斷IP等方式實現。無需糾結於通過什麼方式提交過來的,只要你自己對數據進行驗證後錄入數據庫,然後對同一用戶或者同一IP一段時間類提交次數作出限制,就能實現目的,無需糾結對方偽造什麼
php如何 阻止表單提交?
通常是在表單中增加一個驗證碼。這是防無意刷新的簡便方法。一刷新,驗證碼自動更新,處理程序就會檢測到驗證碼不對。
原創文章,作者:AEXQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/148475.html