PHP "Direkten" post(url) verhindern

Hallo !

Der Titel ist etwas komisch gewählt - Entschuldigt.

Ich habe hier eine kleine Internetseite. Ein User muss auf der Seite in einem Div einen Button starten und anschließend wird ein

HTML:
$.post(url,function(data){
  // some code
});
aufgerufen. Nun könnte der User auf die Idee kommen, dass er einfach ( z.B. per wget ) immer die URL aufruft und sich so einen Vorteil verschafft. Ich überlege nun die ganze Zeit, wie man dies verhindern könnte.

Hatte jemand schon einmal ein solches Problem ?

Ich dachte an folgendes :

In einer Tabelle wird für den Benutzer ein salt erstellt. Per Post wird dieser salt übergeben.

PHP:
if($_POST['salt'] == aValidSalt()){
    // some code
    generateNewSalt();
}
else{
    // error
}
Vielleicht hat jemand einen "schöneren" Vorschlag. Danke
 
Öhm ja ne. Du erzeugst für jeden Seitenaufruf der Formularseite nen Token, dass nur ne gewisse Zeit lang gültig ist. Im Grunde das, was du bereits gesagt hast.
 
aus benutzerfreundlicher sicht kann ich dir nur von captchas abraten.

nimm am besten eine kombination aus einem tokken (wie bereits von enkore) erwähnt.
du könntest weiter ein cookie setzten bzw. den gesendeten user-agent überprüfen.

diese mechanismen lassen sich alle umgehen, doch jemand er sich dafür den aufwand macht hat auch kein problem fertige anti-captcha software zu verwenden.
 
b4ck hat natürlich recht. Die Benutzerfreundlichkeit wird sinken. Für 'recaptcha' giebt es aber momentan afaik keine auch nur halbwegs zuverlässigen Auto-Lösungen. Für einen Menschen ist es aber imho ziemlich leicht zu lösen.
 
Für einen Menschen ist es aber imho ziemlich leicht zu lösen.
und damit lieferst du auch gleich die lösung mit ...


man nehme eine seite mit "interessantem"/"anziehenden"(respektive eher "ausziehenden") inhalt und lasse von den usern jeweils ein captcha lösen bevor sie die inhalte bekommen ... die captchas sind in dem fall die durchgereichten, die man umgehen will ...

das problem ist in diesem fall nicht der turing-test, sondern die tatsache, dass du nicht sicher sein kannst wer ihn gelöst hat. das ist ein problem das sich nicht unter unkontrollierten bedinungen lösten lässt, sprich nicht in "freier wildbahn"
 
Außerdem gibts da diverse indische (manchmal auch chinesische) Unternehmen, die dir 10000 Captchas für 5$ lösen. Das läuft dann unter OCR ;)
 
Zurück
Oben