per quanto riguarda la gestione .htaccess va bene (bisogna vedere la regola esatta per essere sicuri che hai coperto tutti i campi, ma in linea di massima non dovresti allora avere problemi), per il resto vale quel che dicevo: dovresti filtrare i parametri dell'URL e sarebbe meglio impostare un parametro numerico (o al limite alfanumerico) cui associare le immagini anzichè usare direttamente il nome... al limite un minimo di controllo potresti farlo verificando che il nome passato sia un file esistente dentro la cartella delle immagini (e comunque passerei solo il nome del file senza la cartella) tipo:

Codice PHP:
$err false;
$FOLDER 'cartella/sottocartella/';
// supponendo che $source NON contenga il percorso
// fai qualche controllo sul nome del file... sarebbe meglio con le espressioni regolari, ma almeno verificare che non contenga "slash" o "backslash"...
if ((strpos($source'/')!==false) || (strpos($source'\\')!==false) {
  
$err true;
};
$fullpath $FOLDER.$source;
if (!
file_existts($fullpath)) {
  
$err true;
};
if (!
$err) {
  ...
  
$image = @imagecreatefromjpeg($fullpath); 
  ...
}; 
...come spunto