ஒரு html பக்கத்தில் கடவுச்சொல்லை வைப்பது எப்படி. பக்கத்தில் கடவுச்சொல்லை வைத்துள்ளோம். சிறப்பு மென்பொருளைப் பயன்படுத்துதல்

அன்புள்ள நண்பர்களே, எனது வலைப்பதிவு "" க்கு உங்களை மீண்டும் வரவேற்பதில் மகிழ்ச்சி அடைகிறேன். இன்று நாம் ஒரு வேர்ட்பிரஸ் வலைத்தள பக்கத்தில் கடவுச்சொல்லை எவ்வாறு அமைப்பது என்பது பற்றி பேசுவோம், இங்கே எல்லாம் மிகவும் எளிது, ஆனால் அது எதற்காக? இந்த மற்றும் பிற கேள்விகளுக்கு இன்று உங்களுக்காக பதிலளிக்க முயற்சிப்பேன்.

பக்கத்தில் கடவுச்சொல்லை ஏன் வைக்க வேண்டும்?

சில நேரங்களில் தளத்தின் சில பிரிவுகளுக்கான அணுகலைக் கட்டுப்படுத்துவது அவசியம்; இந்த பிரிவுகளில் சலுகை பெற்ற பயனர்களுக்கான தகவல்கள் இருக்கலாம் (பெரும்பாலும் நடைமுறையில் இருக்கும்), அல்லது மறைக்கப்பட்ட பிரிவுகளுக்கான அணுகல் செலுத்தப்படலாம். கட்டணத்தை ஒரு முறை அல்லது சந்தா கட்டணமாக வசூலிக்கலாம், எடுத்துக்காட்டாக, மாதத்திற்கு ஒரு முறை. இந்த வழியில் நீங்கள் பாதுகாப்பான இணையதள பக்கத்தை உருவாக்கலாம் மற்றும் உங்கள் பார்வையாளர்களுக்கு கட்டண அணுகலை வழங்கலாம்.

இப்போதெல்லாம் இணையத்தில் நிறைய சலுகைகள் உள்ளன, அங்கு கட்டண பயிற்சியில் பங்கேற்க அல்லது சில பக்கங்களுக்கு கட்டண அணுகலுடன் தளங்களைப் பணமாக்குதல் என்ற தலைப்பில் ஒரு பாடத்திட்டத்தை வாங்க முன்மொழியப்பட்டது, ஆனால் நீங்கள் அவற்றை வாங்கக்கூடாது. பெரும்பாலும், நீங்கள் அங்கு புதிதாக எதையும் காண மாட்டீர்கள், ஆனால் இணையதளப் பக்கத்தில் கடவுச்சொல்லை எவ்வாறு அமைப்பது மற்றும் இந்த கட்டுரையில் அதை எவ்வாறு மாற்றுவது என்பதை முற்றிலும் இலவசமாகக் கற்றுக்கொள்வீர்கள்.

கட்டண அணுகலில் பணம் சம்பாதிப்பதற்கான கொள்கை தெளிவாக இருப்பதாக நான் நினைக்கிறேன்: கடவுச்சொல்லை அமைக்கவும், கட்டணத்தை ஏற்கவும், அணுகல் கடவுச்சொல்லை அனுப்பவும். இது சந்தாக் கட்டணமாக இருந்தால், மாதத்திற்கு ஒருமுறை கடவுச்சொல்லை மாற்றி, மீண்டும் கட்டணத்தைச் சேகரித்து புதிய கடவுச்சொல்லை அனுப்பவும். சிறந்த சேவையான e-autopay.com ஐப் பயன்படுத்தி இவை அனைத்தையும் தானியங்குபடுத்தலாம், பணம் செலுத்துதல் மற்றும் மின்னணு மற்றும் உடல் பொருட்கள், பின் குறியீடுகள் மற்றும் பலவற்றை தானாக அனுப்பும் வகையில் இந்த சேவை மிகவும் வசதியானது, எல்லாவற்றையும் ஒரு வசதியான துணை நிரலாக கட்டமைக்க முடியும். கவனம் செலுத்துமாறு அறிவுறுத்துங்கள் , இந்த சேவையானது அனைத்து நன்கு அறியப்பட்ட தகவல் வணிகர்களான அசாமத் உஷானோவ், அலெக்சாண்டர் போரிசோவ் மற்றும் பலரால் பயன்படுத்தப்படுகிறது. மூலம், இது e-autopay.com சேவையிலும் செயல்படுத்தப்படுகிறது.

இப்போது வேர்ட்பிரஸ் தளப் பக்கத்தில் கடவுச்சொல்லை எவ்வாறு அமைப்பது என்பதைக் கண்டுபிடிப்போம். இதைச் செய்ய, முதலில் விரும்பிய பக்கத்தை உருவாக்க வேண்டும், பின்னர் இடுகையைத் திருத்தச் சென்று "வெளியிடு" தாவலுக்குச் சென்று "திருத்து" இணைப்பைக் கிளிக் செய்து, படத்தைப் பார்க்கவும்.

நீங்கள் பின்வரும் சாளரத்தைக் காண்பீர்கள், அங்கு நீங்கள் தெரிவுநிலை, பொது, தனிப்பட்ட அல்லது கடவுச்சொல் பாதுகாக்கப்பட்டதைத் தேர்ந்தெடுக்கலாம், மேலும் முகப்புப் பக்கத்தில் பக்கத்தை நீங்கள் பின் செய்யலாம், ஆனால் எங்களுக்கு கடவுச்சொல் தேவை, விரும்பிய செயல்பாட்டைத் தேர்ந்தெடுத்து கடவுச்சொல்லை அமைக்கவும். பக்கத்திற்கு, கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளது.

மேலே உள்ள அனைத்து படிகளுக்கும் பிறகு, நீங்கள் செய்ய வேண்டியது எல்லாம் சரியான நேரத்தில் பக்கத்தை வெளியிடுவதுதான். இந்த எளிய வழியில், உங்கள் வலைப்பதிவில் கடவுச்சொல்லைக் கொண்டு பக்கங்களை உருவாக்கி அதன் மூலம் பல்வேறு தகவல்களுக்கு பணம் செலுத்திய அல்லது வரையறுக்கப்பட்ட அணுகலை உருவாக்கலாம். எடுத்துக்காட்டாக, எனது வலைப்பதிவில், இலவச பாடத்திட்டத்திற்கான அணுகல் குறைவாக உள்ளது, இந்த பாடத்திட்டத்திற்கு சந்தா செலுத்திய பிறகு மட்டுமே அணுகலைப் பெற முடியும், சந்தாவைச் செயல்படுத்திய பிறகு, உங்கள் மின்னஞ்சலுக்கு அணுகல் கடவுச்சொல் அனுப்பப்படும், எல்லாம் மிகவும் எளிமையானது மற்றும் அனைத்தும் தானாகவே இருக்கும். நீங்கள் பார்க்க முடியும் என, இதில் சிக்கலான எதுவும் இல்லை; உங்கள் தளத்தின் எந்த பக்கங்களிலும் கட்டுரைகளிலும் கடவுச்சொற்களை அமைக்கலாம்.

ஒரு தளத்தில் ஒரு பக்கம் அல்லது கட்டுரையில் கடவுச்சொல்லை எவ்வாறு வைப்பது என்பது இப்போது உங்களுக்குத் தெரியும். இந்தத் தகவல் உங்கள் இணையதளத்தில் பணம் சம்பாதிப்பதற்கான பலன்களையும் புதிய யோசனைகளையும் கொண்டு வரும் என்று நம்புகிறேன். எப்போதும் போல, இந்தக் கட்டுரையில் உங்கள் கேள்விகள் மற்றும் கருத்துகளை எதிர்பார்க்கிறேன்.

கடவுச்சொல் மூலம் தளத்தின் ஒரு பகுதியைப் பாதுகாப்பதற்கான வழிகளை விவரிக்க முடிவு செய்தேன். தலைப்பு உண்மையில் மிகவும் பெரியது, எனவே முதல் முறையாக நான் php+mysql அங்கீகாரத்திற்கு வரம்பிடுகிறேன்.

கடவுச்சொல் மூலம் நிர்வாக ஸ்கிரிப்ட்களுடன் கோப்பகத்தை எவ்வாறு மூடுவது என்பது பொதுவாக எழும் முதல் கேள்வி. இந்த வழக்கில், எந்தவிதமான அலங்காரங்களும் தேவையில்லை - ஒன்று அல்லது அதற்கு மேற்பட்ட நிர்வாகிகளுக்கு ஒரே உரிமைகள் உள்ளன, மேலும் ஆளுமைகள் அரிதாகவே மாறுகின்றன. இந்த சூழ்நிலையில் எளிதான வழி நிலையான சர்வர் அங்கீகாரத்தைப் பயன்படுத்துவதாகும் - .htaccess மற்றும் .htpasswd கோப்புகளை வைத்து அவற்றில் தேவையான அளவுருக்களை எழுதவும். இதைப் பற்றி ஏற்கனவே நிறைய எழுதப்பட்டுள்ளது, எனவே நான் குறிப்பாக புதிதாக எதுவும் சொல்ல மாட்டேன்.

நான் இரண்டு விஷயங்களைச் சேர்க்கிறேன். முதலில் .htpasswd கோப்பை எங்கு வைக்க வேண்டும். எடுத்துக்காட்டாக, பிழைச் செய்தியுடன் (ErrorDocument) ஆவணத்திற்கான பாதை DocumentRoot சிஸ்டம் மாறியுடன் தொடர்புடையதாக எழுதப்பட்டிருந்தால், சோதனை ரீதியாக நான் கண்டுபிடித்தேன். ஆனால் கடவுச்சொல் கோப்பிற்கான பாதை (UserFile) ServerRoot உடன் தொடர்புடையதாக எழுதப்பட்டுள்ளது. நான் புரிந்து கொண்டவரை, நீங்கள் .htpasswd ஐ ServerRoot க்கு மேலே வைக்க முடியாது - "../" உணரப்படவில்லை. இவை அனைத்தும் செய்யப்படுகின்றன, எனவே நீங்கள் கடவுச்சொற்களுடன் ஒரு கோப்பை வைக்கலாம், எடுத்துக்காட்டாக, தளத்தின் ரூட் கோப்பகத்திற்கு மேலே ஒரு நிலை, இதனால் பிணையத்திலிருந்து கோப்புக்கு அணுகல் இல்லை.

இரண்டாவது, ஸ்கிரிப்ட் அதை யார் திறக்கிறது மற்றும் கடவுச்சொல்லைக் கண்டறிய முடியும்: $PHP_AUTH_USER மற்றும் $PHP_AUTH_PW மாறிகள்.

இந்த முறையின் முக்கிய தீமை என்னவென்றால், சேவையகம் கடவுச்சொல் யூகிப்பதைத் தடுக்க முடியாது (பல தோல்வியுற்ற உள்நுழைவு முயற்சிகளுக்குப் பிறகு, பயனர் ஒரு மணிநேரம் அல்லது இரண்டு மணிநேரம் காத்திருக்கும்படி கேட்கப்படுகிறார், இந்த நேரத்தில் அவரது ஐபி முகவரியிலிருந்து வரும் அழைப்புகள் புறக்கணிக்கப்படுகின்றன). இது அதிகாரப்பூர்வ அப்பாச்சி ஆவணத்தில் எழுதப்பட்டுள்ளது.

ஒரு பயனரை நீக்கும்போது அல்லது புதிய ஒன்றை அறிமுகப்படுத்தும்போது கடவுச்சொற்களுடன் கோப்புகளை மீண்டும் எழுத வேண்டிய அவசியம் மற்றொரு குறைபாடு ஆகும். ஆனால் இது எப்போதாவது நடந்தால், இந்த முறை மிகவும் போதுமானது, மேலும் அங்கீகார பொறிமுறையை எழுதுவது பற்றி நீங்கள் கவலைப்பட வேண்டியதில்லை.

அங்கீகாரத்தின் ஆட்டோமேஷன்

அதிக எண்ணிக்கையிலான பயனர்களுடனான வேலையை எளிதாக்குவதற்கும் அவர்களின் அதிக வருவாய் ஈட்டுவதற்கும் இது அவசியம். பயனர்களைப் பற்றிய கூடுதல் தகவல்களை நீங்கள் வைத்திருக்க வேண்டும் அல்லது உரிமைகளை நெகிழ்வான வேறுபாடு தேவைப்பட்டால், அங்கீகாரத்தை தரவுத்தளத்திற்கு மாற்றுவது நல்லது.

மூடிய பிரதேசத்தின் ஒவ்வொரு பக்கமும் பின்வரும் குறியீட்டைக் கொண்ட கோப்பை உள்ளடக்கியது:

$result = mysql_query("தேர்வு * உள்நுழைந்த இடத்தில் இருந்து "". preg_replace("/[^w_-]/","",$PHP_AUTH_USER). "" மற்றும் pass="". md5($PHP_AUTH_PW). ""); if (@mysql_num_rows($result)!=1) (தலைப்பு("WWW-அங்கீகரித்தல்: Basic realm="User area""); header("HTTP/1.0 401 Unauthorized"); அச்சிட("பயனர் பகுதியில் உள்நுழைய தளத்தின் , உங்கள் பயனர்பெயர் மற்றும் கடவுச்சொல்லை உள்ளிட வேண்டும்."); வெளியேறு(); ); $user_row = mysql_fetch_array($result);

முதல் வரியில், எழுத்துக்கள், எண்கள், கோடுகள் மற்றும் அடிக்கோடுகள் தவிர அனைத்து எழுத்துகளும் உள்நுழைவிலிருந்து அகற்றப்படும். பெறப்பட்ட வரிசைகளின் எண்ணிக்கை சரிபார்க்கப்பட்டு, அது ஒரு வரிசையாக இருந்தால் மட்டுமே அணுகல் வழங்கப்படும். மற்ற சந்தர்ப்பங்களில், பயனர் உள்நுழைவு மற்றும் கடவுச்சொல்லை உள்ளிடும்படி உங்களைத் தூண்டும் ஒரு சாளரத்தை உலாவியில் பார்ப்பார். பயனர் வெற்றிகரமாக உள்நுழைந்திருந்தால், $user_row வரிசையில் அவரைப் பற்றிய அனைத்து தகவல்களும் எங்களிடம் உள்ளன.

நிச்சயமாக, நான் கொடுத்த உதாரணம் பல குறிப்பிடத்தக்க குறைபாடுகளைக் கொண்டுள்ளது. கடவுச்சொல் யூகிக்கும் முயற்சிகளுக்கு பலியாகாமல் இருக்க, அதை ஒருவருக்கு ஒருவர் மீண்டும் எழுத வேண்டாம், ஏனெனில்
1. இங்கே தேர்வுக்கு எதிராக பாதுகாப்பு இல்லை
2. பயனர் அட்டவணை பெரியதாக இருந்தால், கடவுச்சொல்லை யூகிக்கும்போது, ​​தாக்குபவர் பெரும்பாலும் தரவுத்தளத்தை மூழ்கடிப்பார்

மேலும் இன்றைய கடைசி முறை குறியாக்கப்பட்ட தரவை குக்கீகளில் சேமிப்பதாகும்.

உள்நுழைவதற்கான ஸ்கிரிப்ட் உள்ளது, மீதமுள்ளவை மூடிய பகுதியில் மட்டுமே செயல்களைத் தொடர அனுமதிக்கும் குறியீடு அடங்கும் - குக்கீகள் காலாவதியானால் அல்லது அவர் அங்கிருந்து வெளியேறினால், நீங்கள் உள்நுழைவு பக்கத்திற்குத் திரும்ப வேண்டும்.

உள்ளீட்டு ஸ்கிரிப்ட் உள்நுழைவு மற்றும் கடவுச்சொல்லை சரிபார்த்து இரண்டு குக்கீகளை வழங்குகிறது. முதலில் - உள்நுழைவு, பயனரை உடனடியாக அடையாளம் காணும் பொருட்டு (தரவுத்தளத்தில், உள்நுழைவு புலம், நிச்சயமாக, தனித்துவமானது அல்லது முக்கியமானது). இரண்டாவது குக்கீயில் உள்நுழைவு நேரம் மற்றும் கடவுச்சொல்லின் ஹாஷ் உள்ளது (ரகசியத்தின் முழுமைக்காக, இந்த வரிகளில் “Y” என்ற எழுத்தைச் சேர்க்கிறேன் - பின்னர் ஹாஷைக் கண்டுபிடிப்பது கிட்டத்தட்ட சாத்தியமற்றது :).

மற்ற எல்லா நிரல்களிலும் பின்வருவனவற்றைச் செய்யும் குறியீடு அடங்கும். தரவுத்தளத்திற்கு கோரிக்கை வைக்கிறது - பெறப்பட்ட உள்நுழைவுடன் வரியைத் தேர்ந்தெடுக்கிறது. இந்த வரியிலிருந்து "log_time" புலம் மற்றும் கடவுச்சொல்லை எடுத்து, மேலே விவரிக்கப்பட்டுள்ளபடி, அவற்றிலிருந்து ஹாஷ் செய்கிறது. அது பெற்றவற்றுடன் ஒப்பிட்டு, அவை பொருந்தினால், கடவுச்சொல், நேரம் மற்றும் "Y" என்ற எழுத்தில் இருந்து மீண்டும் ஒரு புதிய ஹாஷ் குக்கீயை வெளியிடுகிறது மற்றும் தரவுத்தளத்தில் "Update user SET log_time='...' WHERE உள்நுழைவு ='$ cookie_login'".

என்றால் (இஸ்ஸெட்($HTTP_COOKIE_VARS[$cookie_login]) && isset($HTTP_COOKIE_VARS[$cookie_code])) ($login = $HTTP_COOKIE_VARS[$cookie_login]; $code = $HTTP_cookie_cookie_SELECT_ date_format(log_date,"%Y%m%d%H%i%s") log_date1,pass,uid என பயனர் அனுப்பிய மின்னஞ்சல்="$login" மற்றும் log_date>"DATE_SUB(NOW(),INTERVAL 15 MINUTE)"" ; :s", $log_time0); $current_user = mysql_fetch_array($result); என்றால் (md5($current_user["pass"].$current_user["log_date1"].$md5letter) == $code) ( mysql_query("UPDATE) பயனர் SET log_date="$log_time2" எங்கே uid=".$current_user["uid"]); setcookie($cookie_code, md5($current_user["pass"].$log_time1.$md5letter), நேரம்()+900, $site_path); $auth = true; ) இல்லையெனில் அமைக்கப்படவில்லை($current_user); );

மீண்டும், சேவையகத்தைத் தேர்ந்தெடுப்பதில் இருந்தும் தாக்குவதிலிருந்தும் இங்கு எந்தப் பாதுகாப்பும் இல்லை (இங்கே நீங்கள் “Y” என்ற எழுத்துக்கு பதிலாக பயனரின் ஐபி முகவரியை எழுதலாம் - எடுத்துக்காட்டாக, அலுவலக அண்டை வீட்டாரால் ஒரு கோப்பை எடுக்க முடியாது. குக்கீ மற்றும் அவரது கணினியிலிருந்து உள்நுழையவும்).

பக்கத்திற்கான கடவுச்சொல். பகுதி 2. ஆட்சேர்ப்பு தடுப்பு

கடந்த முறை நான் இந்த சிக்கலை இடுகையிட்டபோது, ​​​​அப்படிப்பட்ட பிளாக் சர்வரை தடம் புரட்டக்கூடும் என்று அவர்கள் என்னை அந்த இடத்திலேயே உதைத்தனர்.

ஆனால் முதலில், மீளுருவாக்கம் தடுப்பு பற்றி. சாதாரணமானவை, ஆனால் இன்னும். லத்தீன் எழுத்துக்கள் மற்றும் எண்களைக் கொண்ட பத்து எழுத்துகள் கொண்ட கடவுச்சொல் என்றால் நிறைய விருப்பங்கள் உள்ளன. ஒரு வினாடிக்கு 1,000,000 முறை கடவுச்சொல்லை யூகித்தால், அதற்கு பல ஆயிரம் ஆண்டுகள் ஆகும். ஆனால், இதுபோன்ற கோப்லெடிகூக்கை நினைவில் கொள்வது கடினம் என்பதால், அர்த்தமுள்ள வார்த்தைகளில் இருந்து கடவுச்சொற்களை உருவாக்குகிறோம். சில ஆண்டுகளுக்கு முன்பு, 10,000 சொற்களின் அகராதியைப் பயன்படுத்தி பெரும்பாலான கடவுச்சொற்களை யூகிக்க முடியும் என்று மாறியது. ஒரு காலத்தில், ஒரு புழு (அது போன்ற ஒரு வைரஸ்) நெட்வொர்க்கில் தோன்றியது, அது யூனிக்ஸ் சேவையகங்களில் ஏறி, அவற்றின் பாதுகாப்பு துளைகளைப் பயன்படுத்தி, யூனிக்ஸ் சிஸ்டம் எழுத்துப்பிழை அகராதியைப் பயன்படுத்தும் சலுகை பெற்ற பயனர்களுக்கான கடவுச்சொற்களை எடுத்தது. எதையும் சுமக்க வேண்டிய அவசியம் இல்லை!

ஒவ்வொரு பயனரும், சரியான உள்நுழைவு மற்றும் கடவுச்சொல்லை உள்ளிடும் வரை, தீய ஹேக்கராகக் கருதப்படுவார்கள். பயனர் எதையாவது தவறாக உள்ளிடும்போது நாம் என்ன கையாள்வது?
மறதி (இதற்காக, கணினி அமைப்புகளில் உள்ளிடப்பட்ட மின்னஞ்சலுக்கு இதே கடவுச்சொல்லை அனுப்ப ஒழுக்கமான இணையதளங்களில் "மறந்துவிட்ட கடவுச்சொல்" படிவம் உள்ளது)
செல்லம் ("நான் கவலைப்படாததால்")
அகராதியைப் பயன்படுத்தி கடவுச்சொல்லைத் தேர்ந்தெடுப்பது (வெற்றிகரமான தேர்வின் நிகழ்தகவு அதிகமாக உள்ளது, எனவே நீங்கள் அதை மூட வேண்டும், குறிப்பாக தளம் வணிக இயல்புடையதாக இருந்தால்)
DoS தாக்குதல் (சேவையகத்தை ஓவர்லோட் செய்யாமல் இருக்க, இந்த விஷயத்தில் ஸ்கிரிப்ட் செய்யும் செயல்களை நீங்கள் குறைக்க வேண்டும்)

பாதுகாப்பு பொறிமுறையானது கோப்புகளை அடிப்படையாகக் கொண்டால், சேவையகத்தில் அதிக சுமைகளை எவ்வாறு ஏற்படுத்துவது என்பது பற்றி நான் நீண்ட நேரம் யோசித்தேன். இது எளிதாக மாறியது (எவ்வளவு செலவாகும் என்பது மற்றொரு கேள்வி). எனவே, ஸ்கிரிப்ட் ஒரு வினாடிக்கு 1000 முறை எழுதுவதற்கான கோப்புகளைத் திறந்து அவற்றிற்குத் தரவை எழுத முயற்சித்தால், சர்வரால் அதைக் கையாள முடியாது என்று சொல்லலாம். உள்நுழைய 5 தோல்வியுற்ற முயற்சிகளுக்குப் பிறகு, பயனருக்கு உடனடியாக அணுகல் மறுக்கப்படும் (ஒரு கோப்பில் எந்தத் தரவும் எழுதப்படாமல்), 200 தனிப்பட்ட ஐபிகளைக் கண்டறிய வேண்டும், அதில் இருந்து ஐந்து முறை தொடர்பு கொள்ள வேண்டும். அது சாத்தியமாகும். பேனர் ஸ்க்ரோலரில் ஐந்து குறிச்சொற்களைக் கொண்ட html பேனரைத் தொங்கவிடுகிறோம்:

பயனர் உடனடியாக ஐந்து கோரிக்கைகளைச் செய்கிறார்; சேவையகம் கோப்பில் ஐந்து முறை எழுதுகிறது (சில உலாவிகளில், உங்கள் உள்நுழைவு மற்றும் கடவுச்சொல்லை உள்ளிடுவதற்கான சாளரம் பாப் அப் ஆகலாம்). இதுபோன்ற ஐந்து படங்களுடன் ஒரு HTML பக்கத்தை உருவாக்கி, நீங்கள் பார்வையிடும் தளத்தில் ஐஃப்ரேம் மூலம் பக்கத்தையே செருகலாம் (இஃப்ரேம் வழியாக - பரிந்துரைப்பு புலம் காணப்படாது. இலவச ஆதரவு சேவை சாத்தியமில்லை. ஹோஸ்டிங் ரெஃபரர்களைத் தேடி பதிவுக் கோப்புகளைத் தோண்டுவது போன்ற விஷயங்களைக் கையாளும்) . நான் கொடுத்த எடுத்துக்காட்டுகள், நிச்சயமாக, வெகு தொலைவில் உள்ளன, ஆனால் கணினியில் அத்தகைய குறைபாட்டை ஒருவர் பயன்படுத்திக் கொள்ளலாம் என்பது நிரூபிக்கப்பட்டுள்ளது. மூலம், இதேபோன்ற ஒன்று ஏற்கனவே நடந்துள்ளது.

ஆனால் நான் இன்னும் இந்த முறையை உங்களுக்கு தருகிறேன் - நான் அதை வீணாக எழுதினேன், அல்லது என்ன? மூலம், பின்வரும் உள்ளடக்கத்துடன் ஒரு .htaccess கோப்பை கோப்பகத்தில் வைப்பதன் மூலம், குறிப்பிட்ட எண்ணிக்கையிலான முகவரிகளுக்கு (உதாரணமாக, ஒரு நிறுவனத்தின் உள்ளூர் நெட்வொர்க்கிற்கு) அதிக அச்சமின்றிப் பயன்படுத்தலாம்:

மறுப்பு, அனுமதி
எல்லாவற்றிலிருந்தும் மறுக்கவும்
xxx.xxx.xxx இலிருந்து அனுமதிக்கவும்

நிரல் குறியீடு இங்கே:

$ பிழைகள் = 0; $fn = "புறக்கணிக்க/". preg_replace("[^d.]", "", $REMOTE_ADDR. ".". $HTTP_FORWARDED_FOR); if (is_file($fn)) (என்றால் (கோப்பு நேரம்($fn)< time()-3600) unlink($fn); else $errors = fread(fopen($fn, "r"), 2); }; if ($errors>5) ("அணுகல் மூடப்பட்டுள்ளது. ஒரு மணி நேரத்தில் திரும்பி வாருங்கள்."); வெளியேறு(); ); // இங்கே தரவுத்தள சேவையகத்துடன் இணைப்பு நிறுவப்பட்டுள்ளது. பயனர் உடனடியாக "அடிக்கப்பட்டால்" வீணாக தொடக்கூடாது. $result = mysql_query("பயனர் எங்கிருந்து உள்நுழையலாம்="". preg_replace("/[^w_-]/", "", $PHP_AUTH_USER). "" AND pass="". md5($PHP_AUTH_PW) " ""); என்றால் (@mysql_num_rows($result)!=1) (தலைப்பு("WWW-Authenticate: Basic realm="secret area""); header("HTTP/1.0 401 Unauthorized"); print ("Authorization தேவை"); fwrite (fopen($fn, "w"), ++$ பிழைகள்); வெளியேறு(); ); $current_user = mysql_fetch_array($result); mysql_free_result($result); இருப்பினும், தரவுத்தளம் இருந்தால் கோப்புகளுடன் வேலை செய்வது பாவம். நகைச்சுவை. தோல்வியுற்ற அங்கீகாரங்களுக்காக, நாங்கள் ஒரு அட்டவணையை உருவாக்குகிறோம்: டேபிள் அங்கீகாரம் இல்லாதது (பயனர் பெயர் VARCHAR(64) NULL அல்ல, VARCHAR(64) NULL அல்ல, ip VARCHAR(255), உள்நுழைவு நேர நேர முத்திரை) மற்றும் கோப்புகளை அணுகுவதற்குப் பதிலாக, நாங்கள் தரவுத்தளத்தில் வேலை செய்கிறோம். $errors = @mysql_result(mysql_query("தேர்வு எண்ணிக்கை(பயனர்பெயர்) உள்நுழைவு நேரம் இல்லாத இடத்தில் இருந்து தவறானது>DATE_SUB(இப்போது(),இடைவேளை 1 மணிநேரம்) மற்றும் ip="$REMOTE_ADDR""),0); (mysql_error()) இறந்தால் (mysql_error()); என்றால் ($ பிழைகள்>5) ("அணுகல் மூடப்பட்டுள்ளது. தயவுசெய்து ஒரு மணி நேரத்தில் திரும்பி வாருங்கள்."); வெளியேறு(); ); $result = mysql_query("பயனர் எங்கிருந்து உள்நுழையலாம்="". preg_replace("/[^w_-]/", "", $PHP_AUTH_USER). "" AND pass="". md5($PHP_AUTH_PW) " ""); என்றால் (@mysql_num_rows($result)!=1) (தலைப்பு("WWW-Authenticate: Basic realm="secret area""); header("HTTP/1.0 401 Unauthorized"); print ("Authorization தேவை"); mysql_query ("அனுமதிக்கப்படாததை உள்ளிடவும் (பயனர்பெயர், பாஸ், ஐபி) மதிப்புகள் ("$PHP_AUTH_USER", "$PHP_AUTH_PW", "$REMOTE_ADDR $HTTP_X_FORWARDED_FOR")"); வெளியேறு(); ); $current_user = mysql_fetch_array($result); mysql_free_result($result);

புள்ளிவிவரங்களுக்காக பழைய பதிவுகளை சேமிப்பதா இல்லையா என்பது வணிக முடிவு. ஏதேனும் இருந்தால், அங்கீகாரத்திற்கு முன் பின்வரும் கோரிக்கையை செயல்படுத்துவதன் மூலம் அவற்றை நீக்கலாம்:

அங்கீகாரம் இல்லாத இடத்தில் இருந்து நீக்கு