Nein, du brauchst das AJAX-Script nicht nochmal zu sichern, sofern Du folgende Regel beachtest:
Ausnahmslos alles, was vom Client kommt, ist böse.
Du musst sowieso jede Eingabe, auch wenn Du die schon durch ein Javascript geprüft hast, nochmal vom Server validieren lassen bevor Du sie verarbeitest. Der User kann nämlich a) ganz einfach Javascript deaktiviert haben. Dann fand auf Clientseite erst gar keine Überprüfung statt. Oder b) (worst case) deine Javascript Funktionen mit Hausmitteln (Firefox + Firebug) zur Laufzeit im Browser beliebig ändern und auch deinen Ajax-Aufrufen beliebige Payloads mitgeben, die der Server so gar nicht erwartet oder noch schlimmer: beliebige Daten unterjubeln.
Das geht übrigens in beide Richtungen: Der User kann nicht nur dein JS dazu benutzen, beliebige Daten an den Server zu schicken - er kann auch alle Daten die vom Server kommen vorher durch sein eigenes JS schleusen, beliebig ändern und dann erst an Dein Script übergeben. Oder es auch gleich ganz sein lassen und nur selber handeln.
Der Punkt ist: Ist Dein Javascript einmal an den Client übertragen, sind das Script selber und die Daten die es verarbeitet prinzipiell nicht mehr vetrauenswürdig.
Zu dem Löschen-Button:
Beim Löschen - das hattest Du ja schon angesprochen - wird die Berechtigung Serverseitig nochmal geprüft.
Von daher handhabe ich es so: In AJAX ist letzlich alles erlaubt / richtig, sofern es dem großen Ziel dient: Die Seite für den Benutzer besser bedienbar / schneller / eleganter zu machen bzw. übertragene Datenmengen / Roundtrips möglichst klein zu halten.
Wie Du dieses Ziel erreichst ist letzlich egal. Du kannst den Link zum löschen gleich mit im
html rausrendern wenn der User berechtigt ist, oder den erst später via asynchronem Aufruf an den Client übertragen und dann anzeigen. Du kannst ihn auch immer unsichtbar mit rausrendern und nur durch JS anzeigen, wenn es Sinnvoll ist.
Mach es einfach so, wie es für den User am konfortabelsten / schnellsten ist (also auch die dafür übertragene Datenmenge mit beachten - bei einem Link ist es ggf. im Schnitt weniger Traffic, den IMMER gleich unsichtbar in die Seite zu rendern als bei berechtigten Usern dann nochmal den
SOAP-Header und extra
XML drum zu packen).
Ansonsten gilt bei AJAX: Function follows form. Du machst das Gedöns schliesslich nur, um den User zu betüdeln damit sich Deine Seite für ihn besser 'anfühlt', nicht aus reinem Selbstzweck dass Du AJAX einsetzt.
Und da Du selbst Deinem eigenem Script nicht trauen kannst wenn es einmal beim (böswilligen) User ist, ist es auch vollkommen unnötig, viel Arbeit in die Absicherung von etwas zu stecken, was per se nicht Absicherbar ist. Also mach es einfach so, wie es am elegantesten oder auch nur am einfachsten ist, solange es seinen Zweck erfüllt.