ďťż
 
ProFTPd i mod_sql ďťż
 
ProFTPd i mod_sql
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

ProFTPd i mod_sql



=?iso-8859-2?q?Bart=B3omiej_Syryjczyk?= - 22-07-2006 04:32
ProFTPd i mod_sql
  Witam,
Pytanie nie jest OT - dotyczy zapytania, które ProFTPd formatuje sobie
przy sprawdzaniu członków grupy.
Tabele wyglądają tak (najważniejsze kolumny):
servers: server
groups: id, idServer, gid, groupname
users: id, idServer, user
groups_members: idGroup, idUser
Ta ostatnia pokazuje członków grupy.
ProFTPd z mod_sql ma dwie dyrektywy odpowiadające za wybór członków
grupy: SQLGroupInfo
i SQLGroupWhereClause. Wyglądają u mnie tak:
---
SQLGroupInfo groups,servers,groups_members,users groups.groupname
groups.gid GROUP_CONCAT(users.user)
SQLGroupWhereClause "groups.idServer = servers.id AND groups.id =
groups_members.idGroup AND servers.server = 'server.domain.tld' GROUP
BY groups.gid"
---
Wszystko byłoby fajnie, ale ProFTPd skleja sobie to w ten sposób, że
moje WHERE wstawia w podwójny nawias, razem z GROUP BY, co objawia
się błędem składni:
---
SELECT groups.groupname FROM groups,servers,groups_members,users WHERE
(groups.gid = 65534) and ((groups.idServer = servers.id AND groups.id =
groups_members.idGroup AND servers.server = 'server.domain.tld' GROUP
BY groups.gid)) LIMIT 1
---
Liczyłem, że jak GROUP BY będzie w nawiasach okrągłych, to
zostanie zignorowane, ale nic z tego. Jest jakaś możliwość
obejścia tego? Nie chciałbym zmieniać struktury tabel, bo inne
oprogramowanie i inne serwery z niego korzystają.
Oczywiście zrobię sobie jakiś widok, ale chcę wiedzieć czy można
inaczej.

guzik





=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 22-07-2006 04:33

  Bartłomiej Syryjczyk wrote:
> ---
> SQLGroupInfo groups,servers,groups_members,users groups.groupname
> groups.gid GROUP_CONCAT(users.user)
> SQLGroupWhereClause "groups.idServer = servers.id AND groups.id =
> groups_members.idGroup AND servers.server = 'server.domain.tld' GROUP
> BY groups.gid"
> ---
> Wszystko byłoby fajnie, ale ProFTPd skleja sobie to w ten sposób, że
> moje WHERE wstawia w podwójny nawias, razem z GROUP BY, co objawia
> się błędem składni:
> ---
> SELECT groups.groupname FROM groups,servers,groups_members,users WHERE
> (groups.gid = 65534) and ((groups.idServer = servers.id AND groups.id =
> groups_members.idGroup AND servers.server = 'server.domain.tld' GROUP
> BY groups.gid)) LIMIT 1
> ---
> Liczyłem, że jak GROUP BY będzie w nawiasach okrągłych, to
> zostanie zignorowane, ale nic z tego. Jest jakaś możliwość
> obejścia tego? Nie chciałbym zmieniać struktury tabel, bo inne
> oprogramowanie i inne serwery z niego korzystają.
> Oczywiście zrobię sobie jakiś widok, ale chcę wiedzieć czy można
> inaczej.

No można wykorzystać sposoby używane przy SQL Injection. :)
SQLGroupWhereClause "groups.idServer = servers.id AND groups.id =
groups_members.idGroup AND servers.server = 'server.domain.tld')) GROUP
BY ((groups.gid"

Ale oczywiście przy założeniu, że zawsze wstawia tą samą ilość nawiasów.
No i zdecydowanie nie jest to eleganckie rozwiązanie. Widoki byłyby dużo
lepsze.

--
P.M.




=?iso-8859-2?q?Bart=B3omiej_Syryjczyk?= - 22-07-2006 04:33

  Paweł Matejski napisał(a):
> No można wykorzystać sposoby używane przy SQL Injection. :)
> SQLGroupWhereClause "groups.idServer = servers.id AND groups.id =
> groups_members.idGroup AND servers.server = 'server.domain.tld')) GROUP
> BY ((groups.gid"
>
> Ale oczywiście przy założeniu, że zawsze wstawia tą samą ilość nawiasów.
> No i zdecydowanie nie jest to eleganckie rozwiązanie. Widoki byłyby dużo
> lepsze.
Zrobiłem widok i oczywiście jest to 'ładniejsze', ale chodziło mi o
te nawiasy. Wstawiałem całe GROUP BY zamiast samej kolumny.
Dziękuję za pomoc.

guzik
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= =?ISO-8859-2?Q?k=B3opot_z_uruchomieniem_MY_SQL_dla_C?==?ISO-8859-2?Q?MS_i_CRM_na_Fedora_Core_3?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= [Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • natalia97.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com