PDA

Zobacz pełną wersję : Generowanie artykułów - pytanie



grzechom
09-09-2007, 19:21
Hej,

mam dwa pytanka:

1. Gdzie się trzeba "podpiąć" ze swoim skrpytem, aby wygenerować sobie artykuł. Czy jeśli znam sekcję, kategorię, to jest to jedynie kwestia dodania wpisu do tabelki jos_content?

2. Jak to jest z tą nową funkcja skrótu w Joomla 1.0.13 ? Wpisałem sobie do bazy (jos_users) nowe hasełko z algorytmem md5. Niestety po wejściu na stronę jeszcze raz hasło waraca do wartości sprzed zmian tzn posiada wartość dla tej nowej funkcji skrótu. Jak się ona nazywa? Potrzebuję sprawdzić hasze dwoch haseł...

Z góry dzięki za odpowiedzi.

stone
09-09-2007, 22:14
Ad.1 tak

Ad.2 nowe hasło jest autmatycznie generowane ze starego
odpowiednie funkcje są w includes/joomla.php

grzechom
09-09-2007, 23:29
Dzięki za odp.

Czy mógłbyś rozwinąć ad.2 ?
Kiedy dokładnie to hasło jest generowane?

Potrzebuję wyciągnąć zhaszowane hasło i porownać z haszem wprowadzonego. Czy w tym celu muszę do bazy wprowadzić hasło w postaci jawnej, bo na jego podstawie zostanie wygenerowany i zapisny w bazie jego hasz? Czy może źle myślę?

Z góry dzięki za pomoc!

stone
10-09-2007, 07:38
szczerze to do końca nie wiem o co Ci chodzi:)
jezeli chcesz spradzić jak koduje się hasło to wystarczy że dasz istrukcję

echo md5('haslo');

natomiast nowego sposobu kodowania haseł nie porównasz w ten sposob gdyz te same hasła są kodowane roznym ciągiem znakow i nie sa powtarzalne

grzechom
10-09-2007, 08:36
szczerze to do końca nie wiem o co Ci chodzi:)

Hehe, już tłumaczę. Napisałem sobie pewien menedżer do zarządzania projektami. Aby móc operować na projektach trzeba podać hasło. Chciałbym, aby hasło to było taki jak w jos_users. Zwykle w takiej sytuacji wyciągalem hasz hasla z bazy i porównywałem w md5($given_pass)
Niestety ten sposób nie dziala, bo jak widzę hasz hasla w jos_users nie jest generowany przez md5 tylko md5 z solą...



natomiast nowego sposobu kodowania haseł nie porównasz w ten sposob gdyz te same hasła są kodowane roznym ciągiem znakow i nie sa powtarzalne

Hm czyli nie dam rady porównać haszy?

W którym momencie to hasło jest generowane (jak mówisz za każdym razem inne) - trochę się w tym pogubiłem...

stone
10-09-2007, 08:47
ok, teraz juz chwytam, juz tłumacze

w chwili obecnej kodowania hasła wyglada tak (z pliku joomla.php)

$crypt = md5($passwd.$salt);
$row->password = $crypt.':'.$salt;

czyli kodowane jest hasło z dodatkiem soli, a ponieważ sól jest generowana za każdym razem losowo to i kod jest inny. Czyli sól jest kluczem. I żeby porównać hasło musisz użyć tego samego klucza
Jak widać z drugiej liniki klucz jest dodawany do samego wpisu w polu hasła.

więc aby porównać hasło nowego użytkowniak wykonujesz następujące kroki

1. musisz znać login użytkownika, to oczywiste, wyciągasz więc z bazy zapytanie wartość pola password dla danego uzytkownika
2. uzywasz funkcji explode aby oddzielić do dwóch zmiennych zakodowane hasło i klucz
3. i teraz kodujesz hasło które podał uzytkownik wg ($salt to jest druga zmienna jaka powstanie po explode)

$pass_check = md5($passwd_new.$salt);
i porównujesz z pierwszą zmienną z explode

czy udało się w miarę jasno wyłożyć? :)

grzechom
10-09-2007, 12:31
Super, teraz już wszystko jasne - dzięki bardzo :)

Ponowię jeszcze pytanie - czy jeśli znam wszystkie dane o artykule to, aby wygenerować go sobie zdalnie (nie przez panel administratora) - wystraczy dodac odpowiedni rekord do jos_content? Pytam, bo nie mam pewności, czy podczas generowania artykułu czasami nie dodają się jeszcze jakies rekordy do innych tabel, powiązane z id tego artykułu...

Pozdrawiam

stone
10-09-2007, 12:44
tylko tabela jos_content

grzechom
10-09-2007, 13:49
Dzięki stone!