[PHP] Bloccare richieste indesiderate cURL

MaryDB

Nuovo Utente
23 Nov 2017
17
0
1
Ciao,

ho un quesito che non riesco a risolvere. La situazione è la seguente: esiste un codice php che controlla ed accetta le richeste esterne per accedere al DB. Se le credenziali sono sbagliate l'utente viene indirizzato a farsi un giro da un'altra parte. Fin qui tutto bene. Quello però che non mi è chiaro, è come sia possibile che se riutilizzo una vecchia richiesta (encodata base64 come tutte) e la inserisco nel browser, quest'ultimo mi restituisca una serie di caratteri (la rispota del DB come credenziali e dei dati) anche se di fatto è stata una vecchia richiesta oramai non più attiva.
Se provo a verificare sul DB, non vedo nessun dato che viene scritto, quindi la richiesta non ha prodotto un'azione diretta, ma solo indiretta, come conseguenza di accertare le credenziali.

Ora, la mia domanda è: è normale questa cosa ?
Come mai inserendo un url utilizzato in precedenza, ricevo sempre una risposta dal server (php) ?
E' possibile escludere/reindirizzare queste richieste "vuote" ?

Grazie.
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Quello però che non mi è chiaro, è come sia possibile che se riutilizzo una vecchia richiesta (encodata base64 come tutte) e la inserisco nel browser, quest'ultimo mi restituisca una serie di caratteri (la rispota del DB come credenziali e dei dati) anche se di fatto è stata una vecchia richiesta oramai non più attiva.
Potresti spiegare meglio?
  1. Cosa passi?
  2. A chi la passi?
  3. Come la passi?
 

MaryDB

Nuovo Utente
23 Nov 2017
17
0
1
Ciao Macus,
dunque, io passo una stringa con codice chiamata, credenziali e stringa di dati, tutta codificata base64, e la passo ad una pagina PHP, che la interpreta, la passa al DB pe controllare le credenziali e poi se sono giuste, smista i dati ad altri script php.
In pratica faccio una chiamata al file server.php?c=C1111&a=VzVwZEEsUXpVek1UTSxSVU5N....
 

MaryDB

Nuovo Utente
23 Nov 2017
17
0
1
Ciao,
mi è un pò difficile postare tutto il codice, in quanto è integrato in un sistema più complesso che riguarda più server/client contemporaneamente. Quello che posso fare è farti vedere un esempio di quello a cui mi riferisco, sperando che possa essere d'aiuto a comprendere quanto chiedo :
 

Allegati

  • PHP.png
    PHP.png
    14,3 KB · Visite: 372

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Hai lasciato un qualche
PHP:
echo $qualcosa
in qualche if/switch, o in alternativa hai stampato i dati di qualche elaborazione!
 

MaryDB

Nuovo Utente
23 Nov 2017
17
0
1
no. niente echo. Ora controllerò anche sugli altri server, ma non ricordo di averne visti.

Ma la cosa che mi lascia perplesso, è che possa comunque inviare questa richiesta, anche se la chiamata è stata chiusa (creato un nuovo valore) piuttosto che non esiste.
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Mi fido, ma guarda che quella potrebbe essere una semplice echo(base64_decode($str)); nascosta da qualche parte del tuo codice. Prova a rinominare la pagina e a crearne una nuova con lo stesso nome, poi inserisci echo(base64_decode($_GET['a'])); il risultato è come quello da te riportato...
Togli echo bla bla... e vedrai che la pagina non stampa nulla!
 
  • Like
Reactions: MaryDB

MaryDB

Nuovo Utente
23 Nov 2017
17
0
1
Ciao Marcus,
effettivamente hai ragione. C'era un echo presente su una vecchia pagina che veniva richiamata da questa, ed ecco spiegato il motivo della risposta. Grazie.

Comunque rimane il fatto che il server risponda, anche se non dovrebbe farlo. Perchè ?
 

MaryDB

Nuovo Utente
23 Nov 2017
17
0
1
io controllo; infatti se l'utente inserisce user e password sbagliate, lo reindirizzo. Quello però che non riesco a fare (sempre che sia possibile farlo) è che se l'utente mi manda una stringa uguale a quella di ieri o di 5 minuti fa, (dove ha avuto accesso correttamente al server), il server, non la identifica come sbagliata/non valida, ma la gestisce come se fosse attuale.
Questo si riperquote nel momento in cui un altro utente utilizza la medesima stringa per l'accesso ?
Forse sono io inesperto di PHP, e per questo vorrei capire se questo comportamento sia normale, oppure no.
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Ma l'applicazione in questione cosa fa? ossia questa pagina effettua il login?? i dati sono rappresentati in base64 e cosa contengono?
 

MaryDB

Nuovo Utente
23 Nov 2017
17
0
1
Ciao,
questa pagina semplicemente accetta richieste dati. Non c'è un vero e proprio form dove inserire i dati, ma i dati vengono trasmessi direttamente a questo indirizzo. Come ti ho scritto, i dati sono tutti encodati base64 e contengono un codice chiamata generato dal client, credenziali di accesso, dati di scambio che dovranno essere inseriti nel db. Questi dati verranno poi gestiti da altre pagine, non direttamente da questa.
 
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] Bloccare utente tramite indirizzo IP PHP 3
A [PHP] Bloccare ridimensionamento tabella PHP 1
giancadeejay Bloccare utente se non loggato con script php PHP 12
G bloccare file php PHP 6
L bloccare l'accesso pagine php diretto PHP 6
neo996sps [PHP + MySQL] Se faccio F5 inserisce nuovo record. Come bloccare? PHP 7
M Per bloccare gli Ip indesiderati su php - nuke PHP 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8

Discussioni simili