Автор Гілка: питання по php sql і всяко різно  (Прочитано 21342 раз)

idontremember

  • Гість
Re: питання по php sql і всяко різно
« Відповідей #15 : 2015-05-20 01:10:39 »
ага, "Doing as in 2, but hashing multiple times in a misguided attempt to increase security.", а іще про сіль і перець  ;D цікаво.

Незнаю... (тобто знаю, але що краще незнаю). А з приводу Bcrypt - кожен пише що хоче і як хоче. Впевнений шо є багато сайтів на яких не рекомендують використовувати Bcrypt. Ну на даний момент в написанні це не голонве. Потім можна легко пару рядків втсавити.

Всі лінки забукмакав. проснусь подумаю...

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1418
  • Карма: +0/-0
Re: питання по php sql і всяко різно
« Відповідей #16 : 2015-05-20 09:18:26 »
Мені здається що ви займаєтесь якоюсь фігнею. How to properly encrypt passwords in PHP, Securing passwords with Blowfish.

Підтримую. Вже давно сформовано best-practices.

idontremember

  • Гість
Re: питання по php sql і всяко різно
« Відповідей #17 : 2015-05-20 11:37:55 »
Значить тільки Blowfish.(?) Понятно. Але я іще щось від себе перехешоване додам (для крерпкості).
« Змінено: 2015-05-20 11:40:05 від idontremember »

Відсутній xuser13

  • Графоман
  • ****
  • дописів: 480
  • Карма: +0/-0
Re: питання по php sql і всяко різно
« Відповідей #18 : 2015-05-20 22:46:11 »
Е-е-е. Мій досвід підказує що, як правило, найкраща стратегія збирання системи з уже готових кимось написаних компонентів і якомога швидше освоєння цих компонентів і найкращих практик (теж написаних до вас). Це звичайно не так інтелектуально як "колупатися" самому, але… Тож бібліотечки і фреймворк в руки і перед з піснею.
чи планетяне щче не подали блакитне свитло?

idontremember

  • Гість
Re: питання по php sql і всяко різно
« Відповідей #19 : 2015-05-20 23:42:27 »
Е-е-е. Мій досвід підказує що, як правило, найкраща стратегія збирання системи з уже готових кимось написаних компонентів і якомога швидше освоєння цих компонентів і найкращих практик (теж написаних до вас).

А як я тоді зможу сказати що то я все сам створив? коли там буде чужа (не моя праця)? Взагалі-то дякую. А також дякую що не послали мене на укоз або інші ресурси шототіпа  :-? конструктора сайтів.
« Змінено: 2015-05-20 23:42:56 від idontremember »

idontremember

  • Гість
Re: питання по php sql і всяко різно
« Відповідей #20 : 2015-06-09 23:04:36 »
Пишем далі...

Як відслідкувати користувача що залогінився на сайт? Пояснюю детальніше: При вході на сайт в бд пишеться "користувач на сайті" - тобто встановлюється значення змінної в 1. При правильному виході (ПРИ НАТИСКАННІ ПОСИЛАННЯ ВИХІД) в бд пишеться 0 - користув не на сайті.

А якщо користувач не натиснувши посилання просто закрив браузер, то як, через деякий час, записати його статус "не на сайті"? Вкантахті якось через кілька хвилин(?) після того як користувач закрив браузер, не натиснувши ВИХІД, переводить статус користувача в "не на сайті". Як таке реалізувати? Код не потрібен - підкажіть словами.
Про те шоб я запитав про це у Паші - не смішний жарт.

---
Наступне: Що краще - ОДИН багаторядковиий запит до бд із джоінами, лефтами, райтами, ессами

чи

ДВА простих select`а?

в першому випадку начебто память буде їстися, в другому зайвий запит до бд.
---
Є таблиця із одного поля. змінна в полі може приймати три значення. ЯК в одному запиті зробити count(*) кількості цих трьох значень?

---
Що таке навантаження на БД, і навантаження на окрему таблицю? Посмилання вітаються (тоьбто я не образатимусь за відсилання по посиланнях).

---
Є таблиця...


Далі буде...
« Змінено: 2015-06-09 23:08:09 від idontremember »

Відсутній xuser13

  • Графоман
  • ****
  • дописів: 480
  • Карма: +0/-0
Re: питання по php sql і всяко різно
« Відповідей #21 : 2015-06-10 00:11:38 »
Використовуйте сесії. Але що для зміни часу закінчення сесії потрібно помучитися: https://solutionfactor.net/blog/2014/02/08/implementing-session-timeout-with-php/. Або можна відсилати HTTP запити за доп. AJAX через певні проміжки часу. Або, якщо запити будуть відбуватися занадто часто, то використовувати Comet (програмування). Правда при цьому доведеться якось відслідковувати час останнього запиту і якось ідентифікувати клієнта(користувача) і або запускати спеціально для цього виділену програму яка в фоновому режимі буде очікувати HTTP запити і слідкувати за часом або при кожному HTTP запиті запускати функцію яка вибере з БД чи з файлу всі часові мітки і ідентифікатори клієнтів і порівнювати з поточним часом.

Цитата
Є таблиця із одного поля. змінна в полі може приймати три значення. ЯК в одному запиті зробити count(*) кількості цих трьох значень?
Що? В документації написано:
Цитата
Returns a count of the number of non-NULL values of expr in the rows retrieved by a SELECT statement. The result is a BIGINT value.
Цитата
Наступне: Що краще - ОДИН багаторядковиий запит до бд із джоінами, лефтами, райтами, ессами

чи

ДВА простих select`а?
Не знаю.
чи планетяне щче не подали блакитне свитло?

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1418
  • Карма: +0/-0
Re: питання по php sql і всяко різно
« Відповідей #22 : 2015-06-10 09:03:49 »
Цитата
Як відслідкувати користувача що залогінився на сайт? Пояснюю детальніше: При вході на сайт в бд пишеться "користувач на сайті" - тобто встановлюється значення змінної в 1. При правильному виході (ПРИ НАТИСКАННІ ПОСИЛАННЯ ВИХІД) в бд пишеться 0 - користув не на сайті.

Дуже просто. Додаэте поле LastActionTime. І вибираєте лише тих користувачів, в яких воно не раныше 1-5(чи скільки вважаєте потрібним)хв. При кожному запиті оновлюєте його.

Цитата
ОДИН багаторядковиий запит до бд із джоінами, лефтами, райтами, ессами
Залежить від ключів і кількості данних. В загальному випадку краще один запит. Якщо це до тих же таблиць. Ті ж дані по тим же критеріям.
Цитата
Є таблиця із одного поля. змінна в полі може приймати три значення. ЯК в одному запиті зробити count(*) кількості цих трьох значень?
Кожного окремо, чи всих?
SELECT count(id) FROM table WHERE column_name IN (value1,value2,...)SELECT count(id) FROM table WHERE value = 'value1'
Цитата
Що таке навантаження на БД, і навантаження на окрему таблицю? Посмилання вітаються (тоьбто я не образатимусь за відсилання по посиланнях).
дам посилання, як його визначати.
http://www.mysql.ru/docs/man/MySQL_Benchmarks.html

idontremember

  • Гість
Re: питання по php sql і всяко різно
« Відповідей #23 : 2015-06-10 09:57:53 »
Цитата
Як відслідкувати користувача що залогінився на сайт? Пояснюю детальніше: При вході на сайт в бд пишеться "користувач на сайті" - тобто встановлюється значення змінної в 1. При правильному виході (ПРИ НАТИСКАННІ ПОСИЛАННЯ ВИХІД) в бд пишеться 0 - користув не на сайті.

Дуже просто. Додаэте поле LastActionTime. І вибираєте лише тих користувачів, в яких воно не раныше 1-5(чи скільки вважаєте потрібним)хв. При кожному запиті оновлюєте його.

ага, я щось таке ніби то надумував, але не додумався. Головне не занадто часто оновлювати оте поле. Зрозумів. Спрбую.

Цитата
Цитата
ОДИН багаторядковиий запит до бд із джоінами, лефтами, райтами, ессами
Залежить від ключів і кількості данних. В загальному випадку краще один запит. Якщо це до тих же таблиць. Ті ж дані по тим же критеріям.

До різних таблиць. Про індекси розумію - майже півдня інсертилось півтора мільйона записів в табличку - я порявнював швидкодію з індексамиі без індексів. Про кеш знаю. Кожного разу я перезапускав! мскл, ну щоб не із кешу віддавалось.

Цитата
Цитата
Є таблиця із одного поля. змінна в полі може приймати три значення. ЯК в одному запиті зробити count(*) кількості цих трьох значень?
Кожного окремо, чи всих?

Із всих одночасно окремо для кожного значення. Тобто з одного запиту вертається три count-значення для трьох змінних.
Я думаю що таке можливо тільки при union запитів. ???
Написані вами нижче рядки не тестував. А так сходу не дуже розумію що робить перший рядок.

SELECT count(id) FROM table WHERE column_name IN (value1,value2,...)
SELECT count(id) FROM table WHERE value = 'value1'

Цитата
Цитата
Що таке навантаження на БД, і навантаження на окрему таблицю? Посмилання вітаються (тоьбто я не образатимусь за відсилання по посиланнях).
дам посилання, як його визначати.
http://www.mysql.ru/docs/man/MySQL_Benchmarks.html
подивлюся.
« Змінено: 2015-06-10 10:15:28 від idontremember »

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1418
  • Карма: +0/-0
Re: питання по php sql і всяко різно
« Відповідей #24 : 2015-06-10 10:01:10 »
Інсерт з індексами довше. Select - швидше. І навпаки.

idontremember

  • Гість
Re: питання по php sql і всяко різно
« Відповідей #25 : 2015-06-10 10:08:17 »
Інсерт з індексами довше. Select - швидше. І навпаки.
бо воно кожного інсерта перестроює перебудовує індекс.

Використовуйте сесії....

Сесії використовую. Куди ж без них. Але ajax і все  інше - то для мене жуть  :o, і занадто складно та мабуть і довго буде, якщо я почну в ці речі вникати - мені ж залишилось зібратись з духом, не витрачати час на муфільми  та фільми, сісти і дописати код та і все.

ага, іще будуть питання по скл-інєкціям, пізніше...

Дякую усім.
« Змінено: 2015-06-10 10:18:20 від idontremember »

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: питання по php sql і всяко різно
« Відповідей #26 : 2015-06-11 00:34:01 »
Написані вами нижче рядки не тестував. А так сходу не дуже розумію що робить перший рядок.
Почитайте про оператор IN, це, по суті, те саме, що:
SELECT count(id) FROM table WHERE column_name = value1 OR column_name = value2 OR column_name = value3

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1418
  • Карма: +0/-0
Re: питання по php sql і всяко різно
« Відповідей #27 : 2015-06-11 10:03:14 »
Цитата
Сесії використовую. Куди ж без них. Але ajax і все  інше - то для мене жуть

Цивілізований світ вже давно перейшов на вебсокети. А для вас й досі аякс жуть? В мене для вас погані новини...

r00t x

  • Гість
Re: питання по php sql і всяко різно
« Відповідей #28 : 2015-06-11 12:07:12 »
Цитата
цивілізований світ вже давно перейшов на вебсокети. А для вас й досі аякс жуть? В мене для вас погані новини...

непотрібно мене розчаровувати!

r00t x

  • Гість
Re: питання по php sql і всяко різно
« Відповідей #29 : 2015-06-11 12:18:05 »
SELECT count(id) FROM table WHERE column_name = value1 OR column_name = value2 OR column_name = value3
нє-а
mysql> SELECT count(frst) FROM frends WHERE frst IN (2,8);
+-------------+
| count(frst) |
+-------------+
|     1178096 |
+-------------+
1 row in set (0.77 sec)

mysql> SELECT count(frst) FROM frends WHERE frst IN (8);
+-------------+
| count(frst) |
+-------------+
|     1178095 |
+-------------+
1 row in set (0.74 sec)

mysql>

mysql> SELECT count(frst) FROM frends WHERE frst IN (2);
+-------------+
| count(frst) |
+-------------+
|           1 |
+-------------+
1 row in set (0.69 sec)

mysql>

Не воно. Потрібно щоб один запит вертав (в наведеому прикладі!) кількість вісімок і кількість двійок. Ну то нічого страшного можна зробти union. То буде якби то не один запит, але впринципы один. Тобто одне зваернення до бд.

ось так:
mysql> SELECT count(frst) FROM frends WHERE frst=2 union select count(frst) FROM frends WHERE frst=8;
+-------------+
| count(frst) |
+-------------+
|           1 |
|     1178095 |
+-------------+
2 rows in set (1.48 sec)

mysql>