Sziasztok.
Egy kis segítséget/útmutatást kérnék.
Nemrég elkezdtem a munkahelyem intranetes oldalait átültetni Drupal alá.
Most azt kérték tőlem, hogy a felhasználók által beküldött tartalmakban szereplő külső oldalakra mutató linkeket blokkolni kellene, vagy egy az egyben tiltani ezek felvitelét.
Rögtön egy nagy ? villant az agyamba, hogy mégis hogyan......
Végül arra jutottunk, hogy vannak oldalk, mint pl.:a FaceBook amin ha egy külső oldalra mutató linkre kattintunk, akkor az figyelmeztet, hogy elhagyom az oldalt és ahová megyek annak már nincs köze a FaceBook-hoz.... OK, Mégse
Persze lehet, hogy abszolút rossz irányba gondolkodunk, de nem lehet valahogy a Drupalt is rávenni hasonlóra, és mondjuk az OK gombot eltüntetni, vagy új célt adni neki?
Ezek a scriptek pontosan hogyan is működnek?
Létezik kész modul?
Közületek találkozott már valaki hasonló problémával?
6.15 core
Modulok:
acl
cck
content_access
filefield
imce
imce_wysiwyg
pathauto
token
transliteration
views
wsyiwyg
zenophile
Előre is köszönöm.
Kocsi Tamás
a beviteli formák beállításainál tudod ezt tiltani egy klikkel
tegyük fel, hogy filtered html az alapértelmezett beviteli forma. szerkeszted ezt és kiveszed belőle az url filtert. ettől még az "a" teget használhatja emberünk,
úgyhogy a configure fülön vedd ki az "a" teget az engedélyezett html elemek közül és kész.
http://img.skitch.com/20100128-q95efnswmhyng3ut7yjtha2fqx.png
így a userek ugyan kopi-pészt módszerrel berakhatnak webcímeket, azok mégse alakulnak automatikusan linkekké, nem lehet rájuk kattintani. (illetve lehet, de nem történik semmi)
-
clear: both;
Ennyi????
Nagyon köszönöm.
Ez hótra egyszerű, valószínűleg ezért nem gondoltunk erre a kézenfekvő megoldásra..... pedig agyaltunk néhány órát ezerrel:)
Bár a kedves userek annyira azért nem "bátrak" hogy az "a" tag -el szórakozzanak, de jobb félni, mint megijedni....
Amúgy a scriptel mi a helyzet?
Tehát bele lehet drótozni hasonlót a Drupalba???
Mégegyszer köszönöm, a többiek nevében is.
KocsiT
Erre én is gondoltam
Erre én is gondoltam, de evvel a belsők is repülnek a tartalomból, és a téma címe konkrétan a kifelé mutató
linkekhivatkozások blokkolása.Ez igaz lehet
Ha hazaérek ki is próbálom.
Bár belső linkeket csaka csatolt pdf-ek és képek használnak.
Jogos felvetés, utána járok és megírom mit tapasztaltam.
hát, végülis jogos
ez esetben egy saját filtert kéne írni (előtte alaposan körülnézni, nincs e már ilyen:).. nem lesz túl nehéz, végülis csak az urlfiltert kell forkolni és figyelni, hogy külső e vagy belső.
-
clear: both;
forkolni...
Ok, lehet butát kérdezek....
Hol találom az urlfiltert? Melyik állományban van kódolva?
Miként mutatom meg a rendszernek, hogy az általam módosított szűrőt használja?
Lehet beviteli formához kötni, vagy globálisan érvényes lesz?
Csak mert ilyet még nem csináltam és nem tudom hol kezdjek neki.
/a programozás nem az erősségem, de gyorsan tanulok:) /
modules/filter/filter.module
http://drupalcontrib.org/api/function/_filter_url/6
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok
Köszönöm
Ha jól értem elég kivenni a megfelelő értékeket az absolute URLs részből, mint pl.: a http://, majd mentem egy saját modulba amit elhelyezek a sites/all/modules könyvtárba és kész.
KocsiT
tulajdonképpen igen, ez a forkolás :)
persze saját modulba helyezem = mindenhol módosítom a függvényneveket a megfelelőre, változókat ha ment, azokat is, stb.
igazából egy "filter modult" kell írnod.
meg akartam keresni neked az idevágó doksikat, de helyette ezt találtam, ez talán a jó megoldás: http://drupal.org/node/210551
ezzel admin felületen csinálhatsz saját filtert, nem kell modult forkolnod.
-
clear: both;
Kicsit off: a patternek
Kicsit off: a patternek szintaktikájáról hol találok leírást (bónusz: magyarul) ? Ha jól sejtem, pl a .htaccess rewrite rule-jai is így működnek, én meg azt sem tudom, hogy hívják ezeket.
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
hogy magyarul hol, az passz
úgyhívják ezt, hogy regular expression. nemtom mire van fordítva. regexp.
(új téma!)
-
clear: both;
Köszi, és bocs, hogy nem új
Köszi, és bocs, hogy nem új témaként kérdeztem, de tényleg nem annyira drupal kérdés, és mivel a nevét sem tudtam a gyereknek, azt sem tudtam, mit etessek a google-vel.
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
Én ezt találtam a témáról magyarul
http://vbence.web.elte.hu/regex_leiras.html
Elég értelmes leírás, de még vonatkoztatnom kell magamra.
RegEx vagy RegExp by google
Aboros! Asszem ez jó lesz
Bár kevésnek bizonyult ez a délután feldolgozni de nem adom fel.
Egyenlőre nem jártam sikerrel.
Hiába illesztem be a saját pattern-eket és szabályokat, valamiért nem működik.
Azért köszönöm az iránymutatást és a linket.
Hétfőn folyt köv.....
Ez így nem jött be
sajna nem jól gondoltam, a végeredmény teljesen szétesett, ha be van kapcsolva az urlfilter.
External links?
Ha jól emlékszem, az External links modul beállítható úgy, hogy megjelenítsen egy üzenetet, ha kimenő hivatkozásra kattint valaki.
Fejlesztő pedig menézheti a forrását, hogyan szűri a hivatkozásokat. Aztán már „csak egy lépés” a blokkolás... ;o)
Üdvözlettel:
Hajas Tamás
Tapasztalatok:
Köszönöm az eddigi javaslatokat.
Aboros javaslata fél megoldás.
Ha bekapcsolom a HTML-szűrőt (alapból nem használom) és tiltom "a" taget, akkor hazavágja az adott tartalom összes hivatkozását, tehát a beillesztett pdf -ek sem működnek.
Ha viszont csak az URL szűrőt kapcsolom ki (ez alapesetben ON), akkor a pdf -ek működnek, csak a "copy - paste" hal el, ennek megfelelően.
Esetmben már ez is elég lenne, de annyira azért inteligens a célközönség, hogy ugyanazta módszert alkalmazza egy külső hivatkozás beillesztésére, mint az állományokéra.
IMC segítségével előbújó ablakban beírja a kívánt url -t majd ment és kész...
Thamas:
Megnézem ezt a modult, a leírásod alapján használhatónak tűnik.
Ha a modul forrásába piszkálok, akkor az gondot okozhat frissítéskor, nem?
Vagy készítsek egy saját modult ennek alapján és azt töltsem be?
KocsiT
Thamas, Igen, ez az
Erre gondoltam.
Már csak az az "egy lépés" hiányzik....
Próbálom átkódolni.
Egy kis programozás
Sajna nem jövök rá, hogy hol történik meg az extlink.js hívása.
Ráadásul a js állományban sem találom, hogy az OK, vagy MÉGSE gomb kimenetét hol lehet átírni.
Esetleg volna valakinek valami ötlete?
Azt szeretném elérni, hogy az OK megnyomásának hatására mondjuk egy előre beállított lap jönne fel, vagy akár egy belső node ami tályékoztatná, hogy nem megengedett a külső hivatkozások elhelyezése.
Előre is köszönöm
Kocsit
A probléma megoldódott
Mindenkinek köszönöm a segítségét.
A felmerült problémát aboros által javasolt (costum filter) modul segítségével siekerült megoldani.
Kellett néhány RegEx mintát írni a szabályba és már szűri is amit kell.
Továbbá mégegyszer köszönöm thamas -nak az extlink modult javaslatát. Ezzel színesebbé vált az eredmény.
KocsiT