LINUX.ORG.RU

Подскажите по mysql + php

 ,


0

1

В общем, я решил заняться вебом, чисто для себя сделать простенький сайтик-бложик. И вот встал вопрос - есть форма авторизации, юзер вводит логин и пароль, эти данные как я понял складываются в БД mysql, правильно? Как связать сайт и базу данных? Подскажите литературу, ссылки, короче все что можно. Я в этом ламер полный, выручайте =)

★★★★★

Посмотри как это люди делают. Помогает оч хорошо.

ggrn ★★★★★
()

эти данные как я понял складываются в БД mysql

Не храни пароли, храни соленые хэши или что-то подобное - в случае если у тебя сопрут базу злоумышленник не получит учетки пользователей. Если тебе только логин\пароль в базе хранить и «просто поучиться» - возьми sqlite, не заморачивайся с «нормальными» СУБД.

alozovskoy ★★★★★
()

Почему не python? Как по мне «чисто для себя» он полезнее, его можно не только для веба использовать.

Хотя PHP, из-за славной пыхерской традиции не использовать фрэймворки, провоцирует писать велосипеды (и бегать про граблям) что можно рассматривать как приобретение ценного опыта (:

MrClon ★★★★★
()

Как связать сайт и базу данных?

man PDO

А вообще, иди на php.net и кури ман до просветления.

Kilte ★★★★★
()
Ответ на: комментарий от teploson

И будет очередной кодер по типу «как на jquery найти элемент на странице?». Фреймворки это конечно хорошо, но сразу браться за них я бы не советовал.

И ещё, раз

мне нравится С-подобный синтаксис ;)

то тем более не советовал бы, т.к. там сплошные попытки походить на жабку.

Kilte ★★★★★
()
Последнее исправление: Kilte (всего исправлений: 1)
  • Не храни пароли в открытом в виде. К счастью в PHP уже сделали расширение, оно и хэширует правильным алгоритмом и соль генерирует. Так что тут тебе ничего придумывать не надо. Но все равно стоит почитать и разобраться, чтобы понимать процесс.
  • Для работы с MySQL надо использовать PDO или mysqli расширения, а не mysql_*.
  • После авторизации генерируешь случайный токен и сохраняешь его в cookie пользователя и в базе данных. При каждом запросе на сервере сравниваешь их, чтобы понять, что username действительно username. По поводу самого токена, тут разные подходы есть, как его генерировать и из чего, можешь пока обойтись функцией mcrypt_create_iv.

Другой вариант, если нужно просто сделать, а не научиться, как правильно, можно просто взять какую-нибудь готовую библиотеку.

nguseff
()
Ответ на: комментарий от w1nner

Вообще md5 уже не рекомендуют) Хотя в той же Joomla до сих пор md5 вроде с солью и норм. Главное соль добавлять, иначе просто md5 - это все равно что вообще не хэшировать.

nguseff
()
Ответ на: комментарий от nguseff

В пыхе вроде искаропки есть менее жирные хранилища сессий нежели РСУБД.

Другой вариант, если нужно просто сделать, а не научиться, как правильно, можно просто взять какой-нибудь готовый вордпресс.

Поправил (:
Но ТСу вроде как хочется поучиться.

MrClon ★★★★★
()
Ответ на: комментарий от nguseff

Вообще-то уже давно не рекомендуют. Какие-то атаки на него публиковали ещё в середине нулевых помнится, а может и раньше. В жумле его наверное как легаси тянут. Я MD5 использую только для контроля целостности файлов и только там не где предполагается злонамеренная их порча, да и то только из-за сочетания скудности ресурса проца и собственной лени (лень искать другой быстрый алгоритм).
SHA256/512 и не париться. Благо в пыхе для замены одного на другое надо только поменять один параметр функции.

MrClon ★★★★★
()
Ответ на: комментарий от nguseff

А кто говорит, что это плохо? Меня, например, более чем устраивает такой расклад.

Kilte ★★★★★
()
Ответ на: комментарий от w1nner

Зачем md5? Там ничего сложного. Всего-то две функции password_hash и password_verify. Проще не придумаешь.

Kilte ★★★★★
()
Ответ на: комментарий от shooter93

http://habrahabr.ru/post/137664/

Это все хорошо, но в mysqli асинхронные и мультизапросы поддерживаются, лучше с биндингами параметров, да и вообще больше функций самой бд поддерживает. А ещё 99% проектов (коробочные решения, которые по определению со всеми бд должны работать, не рассматриваем), используют конкретный стэк, а не сферическую бд в вакууме, и задачи поменять там СУБД никогда не возникает.

На худой конец есть ещё Doctrine DBAL с PDO-like интерфейсом, который умеет mysqli

nguseff
()

Вот тебе видео, как сделать блог на PHP-фреймворке CodeIgniter за 20 минут. Оно немножко устарело, но с новой версией CI можно разобраться по аналогии. Все интересующие вопросы можно легко узнать из документации.

Wizard_ ★★★★★
()

Не рано ли к формам переходишь?
Фреймворки пока трогать нирекомендую, там обычно «магия», которая тебя ничему не научит.

ritsufag ★★★★★
()
Ответ на: комментарий от Wizard_

CodeIgniter

Расстрелять. Оно что, ещё живо чтоли? Какой смысл эту поделку советовать, когда есть нормальные фреймворки

nguseff
()

А вообще, я за Ruby on Rails.
Руководствуясь Agile Web Development with Rails, можно написать бложик намного быстрее и, вероятно, с большей пользой.

Evenik ★★
()

юзер вводит логин и пароль, эти данные как я понял складываются в БД mysql, правильно?

Нет, нормальные сайты пароли не хранят.

h578b1bde ★☆
()

В PHP есть расширение PDO, оно тебе поможет.

chuye
()
Ответ на: комментарий от ritsufag

не посмотрев сорсы?

Фреймворк это просто набор библиотек лежащих в папке /vendor.

Фреймворк учит использовать ООП.

А если начнёшь с процедурного программирования, то нахватаешься плохих приёмов, сложно будет встроиться в фреймворк т.к. не будешь понимать простых ООП приёмов. Лучше сразу начинать с ООП.

ООП это же просто удобная структуризация кода. А процедурное создаёт кашу.

teploson
()
Ответ на: комментарий от teploson

Фреймворк учит использовать ООП.

Не учит. Документация научит использовать фреймворк, не более.

А если начнёшь с процедурного программирования, то нахватаешься плохих приёмов, сложно будет встроиться в фреймворк т.к. не будешь понимать простых ООП приёмов. Лучше сразу начинать с ООП.

Бредятина.

ritsufag ★★★★★
()
Ответ на: комментарий от teploson

А в ООП класс это просто функции + переменные скомпонованные в один файл.

Больше вопросов не имею.

ritsufag ★★★★★
()
Ответ на: комментарий от teploson

ООП это магия ?

Магию фреймворки устраивают с помощью всяких __get() и т.п. автоматики. Это плохо не помогает пониманию происходящего.

no-such-file ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.