Универсален скрипт
Внимание! От член 2012. Премествам блога си от моя сайт във форума.
Пиша тази водниста част за тези, които изобщо не знаят какво е PHP и трябва да са попаднали на тази статия случайно.
Веднага ви давам сценарий, ще разберете - добре! Ако не разбирате, ще го анализираме по-долу и ще го пробваме с примери.
_database.php (можете да намерите новия синтаксис тук http://php.net/manual/ru/mysqli.quic. onnections.php )
Функцията hash_pass Хешът на паролата е направен така, че ако базата данни бъде хакната, те пак няма да знаят паролата.
Нашата задача е да направим хеша по-интересен.
Методи за хеширане:
- Хеш в хеш.
- Сол - добавете няколко произволни знака към хеша.
- Зависим хеш - зависи от уникална променлива (например вход).
- Плънка - разбъркайте хеш стойността.
- Интелигентен хеш - хешът променя алгоритъма в зависимост от дължината и стойностите.
Ще напиша повече за това в друга статия. (P.s. няма да пиша)
На теория функцията работи с низове, необходимо е само малко въображение, за да се измисли алгоритъм за криптиране. Пример за код без използване на unuser клас
Функцията modify_login Функцията проверява коректността на влизането.
- Функцията получава низова променлива.
- Премахва интервали от началото и края на низ.
- Проверки за знаци (разрешени са латински знаци и цифри, между тях може да има тире, точка или долна черта)
- Проверява низ за дължина (от 3 до 40 знака включително)
- Ако всички проверки са преминали, върнете modify_login: низ
- Ако поне една проверка е неуспешна, връщаме modify_login: false
Функция ban_user_add Функция за добавяне на глоби.
- Свързване към базата данни
- Задайте наказателното време
- Търсим потребител с даденото IP в базата данни
- Ако намерим запис, но наказанието изтече, ние го създаваме като първия неуспешен опит
- Ако сме намерили запис, а наказателното време още не е изтекло, увеличаваме наказателното число.
- Ако не сме намерили записа, ние го създаваме като първия неуспешен опит.
- Свързване към базата данни
- Търсим потребител в базата данни с дадено IP и пет текущи глоби.
- Ако не бъде намерен, връща функциите ban_user: false (означава, че потребителят не е блокиран)
- Ако бъдат открити, връщаме функциите ban_user: крайният час на блокиране.
Как да използвам скрипта?
Много просто, просто свържете нашия клас