Универсален скрипт

Внимание! От член 2012. Премествам блога си от моя сайт във форума.

Пиша тази водниста част за тези, които изобщо не знаят какво е PHP и трябва да са попаднали на тази статия случайно.

Веднага ви давам сценарий, ще разберете - добре! Ако не разбирате, ще го анализираме по-долу и ще го пробваме с примери.

_database.php (можете да намерите новия синтаксис тук http://php.net/manual/ru/mysqli.quic. onnections.php )

Функцията hash_pass Хешът на паролата е направен така, че ако базата данни бъде хакната, те пак няма да знаят паролата.

Нашата задача е да направим хеша по-интересен.

Методи за хеширане:

  1. Хеш в хеш.
  2. Сол - добавете няколко произволни знака към хеша.
  3. Зависим хеш - зависи от уникална променлива (например вход).
  4. Плънка - разбъркайте хеш стойността.
  5. Интелигентен хеш - хешът променя алгоритъма в зависимост от дължината и стойностите.
За съжаление, колизиите не могат да бъдат избегнати и може да се намери един хеш за две различни стойности, но вероятността за това е много малка.

Ще напиша повече за това в друга статия. (P.s. няма да пиша)

На теория функцията работи с низове, необходимо е само малко въображение, за да се измисли алгоритъм за криптиране. Пример за код без използване на unuser клас

Функцията modify_login Функцията проверява коректността на влизането.

  • Функцията получава низова променлива.
  • Премахва интервали от началото и края на низ.
  • Проверки за знаци (разрешени са латински знаци и цифри, между тях може да има тире, точка или долна черта)
  • Проверява низ за дължина (от 3 до 40 знака включително)
  • Ако всички проверки са преминали, върнете modify_login: низ
  • Ако поне една проверка е неуспешна, връщаме modify_login: false
Примерен код без използване на unuser клас

Функция ban_user_add Функция за добавяне на глоби.

  • Свързване към базата данни
  • Задайте наказателното време
  • Търсим потребител с даденото IP в базата данни
  • Ако намерим запис, но наказанието изтече, ние го създаваме като първия неуспешен опит
  • Ако сме намерили запис, а наказателното време още не е изтекло, увеличаваме наказателното число.
  • Ако не сме намерили записа, ние го създаваме като първия неуспешен опит.
Функция ban_user Функция за ограничаване на достъпа.
  • Свързване към базата данни
  • Търсим потребител в базата данни с дадено IP и пет текущи глоби.
  • Ако не бъде намерен, връща функциите ban_user: false (означава, че потребителят не е блокиран)
  • Ако бъдат открити, връщаме функциите ban_user: крайният час на блокиране.

Как да използвам скрипта?

Много просто, просто свържете нашия клас