Warum ich das so will ist einfach,ich möchte dass das cgi nicht direkt aufgerufen wird,sondern
nur vom formular aus von einer bestimmten seite.
Das kannst du nicht, mit dem Versuch sperrst du nur unnötiger Weise Leute vom Zugriff auf das Formular aus. Der Webserver teilt dem Script die Methode mit, mit der auf das Script zugegriffen werden soll, wenn du dort verifizierst, dass die Anfrage POST war, oder wie du es tust, ob sie nicht GET war, dann "funktioniert" das durchaus, das zu fälschen ist schwer bis gar nicht möglich. Ob es sinnvoll ist, ist allerdings eine andere Frage...