Kifelé mutató link blokkolása

kocsit képe

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

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
aboros képe

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)

0
0

-
clear: both;

kocsit képe

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

0
0
Balogh Zoltán képe

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ó linkek hivatkozások blokkolása.

0
0
kocsit képe

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.

0
0
aboros képe

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ő.

0
0

-
clear: both;

kocsit képe

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:) /

0
0
kocsit képe

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

0
0
aboros képe

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.

0
0

-
clear: both;

szantog képe

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.

0
0

----
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.

aboros képe

úgyhívják ezt, hogy regular expression. nemtom mire van fordítva. regexp.
(új téma!)

0
0

-
clear: both;

szantog képe

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.

0
0

----
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.

kocsit képe

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

0
0
kocsit képe

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.....

0
0
kocsit képe

sajna nem jól gondoltam, a végeredmény teljesen szétesett, ha be van kapcsolva az urlfilter.

0
0
thamas képe

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)

0
0

Üdvözlettel:
Hajas Tamás

kocsit képe

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

0
0
kocsit képe

Erre gondoltam.

Már csak az az "egy lépés" hiányzik....
Próbálom átkódolni.

0
0
kocsit képe

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

0
0
kocsit képe

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

0
0