You could go through the trouble of creating an application startup page that opens a new browser window that does not show the back/forward button...
But the user could still use the keyboard-equivalents to navigate (like alt<- and alt->

. You could then try valiantly to intercept these keystrokes and eat them in event handlers on every screen element...
But the user could still use right-clicks to go back and forward in their history, so you'd have to try to disable those events as well...
And even then, you haven't really protected your app, because the user can simply disable javascript and defeat you.
This kind of thing needs to be done server-side, not in the client. NEVER, ever, trust the client to keep your web app safe. You need to be looking into token synchronization, so that when a page is received a second time on the client, the server detects this, refuses to process the request, and asks the user to resubmit the request after resyncing itself with the flow of the client's state.