Come strutturare questa specifica configurazione

0

Un utente visita un sito Web e digita le informazioni in input fields

<input class="form-control" type="text" id="age" name="age" value="<?php echo htmlspecialchars($_POST['age']); ?>">

e carica anche file

<input id="misc_files" type="file" class="file" multiple data-show-upload="false" data-show-caption="true" name="misc_files[]">

che viene quindi passato a uno script action.php che salva questi dati in un file delimitato da tabulazioni (file salvati separatamente) chiamato file.txt . Il file contiene informazioni private. Ora, nello stesso script action.php , uno script Ruby viene chiamato tramite la funzione di sistema di PHP:

system('ruby /lib/program.rb');

program.rb contiene variabili utente / passaggio utilizzate in una gemma Ruby chiamata watir-webdriver . Vedi qui se non ti è familiare. In pratica consente a Ruby di aprire un browser e manipolare il browser a livello di programmazione. In ogni caso, program.rb contiene una password che consente a watir-webdriver di accedere a un altro account del sito per inviare questi dati a livello di codice. program.rb è su un server remoto a cui si accede tramite uno script PHP chiamato da chiunque su Internet. Come dovrei strutturare i permessi, ecc. Affinché questo sia sicuro. Non posso permettermi di avere program.rb per esporre la combinazione utente / passata del mio cliente da un hacking intelligente non previsto che in definitiva consente a un utente malintenzionato di scaricare program.rb e visualizzare la combinazione utente / passaggio.

Esempio di script Ruby:

require 'watir-webdriver'

b = Watir::Browser.new :chrome
b.goto 'https://www.thesite.com/login'

b.text_field(:id => 'session_email').set 'username'
b.text_field(:id => 'session_password').set 'password'

b.form(index:0).submit
sleep 1

#(code to submit input/file data)
    
posta Forwarding 18.10.2016 - 20:06
fonte

0 risposte

Leggi altre domande sui tag