# URL Darstl. und Struts



## Mara:hidden: (5. Feb 2007)

hallo, 
ich hab in einer struts anwendung verschiedene links, von denen einige parameter benötigen, zB soll bei einem Link zu einer speziellen KUndenseite weitergeleitet werden. Hierzu geb ich die action und den parameter dem <html:link> mit.
ungefähr so:

<html:link action="/showCustomerData" paramName="currentCustomer" paramId="customer_id" paramProperty="customer_id"> 

Dies führt im Browser zur folgenden URL Darstellung:

http://localhost:8080/CustomerData.do?action=showCustomerData&customer_id=23

Gibt es eine (einfache) Möglichkeit diese Darstellung irgendwie zu verschlüsseln bzw den Url anders darszustellen. Es soll nämlich verhindert werden, dass jemand anhand der id manuell im Browser weitere "Kundenseiten" zu sehen bekommt. 

Komischerweise funktioniert das, ich dachte es gibt schon einen automatsichen Mechanismus, wo geprüft wird ob z.B. ein solcher manueller Aufruf gültig ist und entsprechend an eine Fehlerseite weiterleitet statt zur "richitgen"

Bitte um Hilfe !

Vielen Dank.
Gruß Mara


----------



## SlaterB (5. Feb 2007)

Du könntest den Link in ein Formular mit POST statt GET umwandeln, 
dann werden die Parameter nicht im Browser angezeigt.

Allerdings sind sie im Quelltext der Datei immer noch zu sehen,
alles was der Browser weiß, das weiß auch der User wenn er will.

Eine Alternative wäre, den Server sowas speziell bearbeiten zu lassen, z.B.

http://localhost:8080/CustomerData.do?action=showCustomerData&customer_id=id00055

und intern hat sich der Server gemerkt, dass id00055 für diesen Link einmalig angewendet 23 bedeutet (danach ungültig)

bzw. ähnliche Verfahren, das kann man beliebig bauen


> Komischerweise funktioniert das, ich dachte es gibt schon einen 
> automatsichen Mechanismus, wo geprüft wird ob z.B. ein solcher 
> manueller Aufruf gültig ist und entsprechend an eine Fehlerseite 
> weiterleitet statt zur "richitgen"

wie soll ein geklickter Link von einen eingegebenen unterschieden werden?
unmöglich (wenn nicht durch Mechanismen wie oben codiert, da gibts durchaus auch vorgegebenes),
aber natürlich kannst du jede Art von Link annehmen und separat prüfen,
das hängt dann von deiner Logik ab, nicht von 'automatischen Mechanismen'


----------



## Guest (5. Feb 2007)

ok danke mal!
ich hab jetzt auch schon von servlet filtern gehört, die sowas regeln können, weiß aber nicth wie das geht. 
Noch ne andere Frage. Gibt es Möglichkeit (Ich benutze Struts und Tomcat), für alle möglichen Exceptions zu einer Fehlerseite zu leiten, dass man nicht immer das hässliche Tomcat Exception Window sieht ?


----------

