Как я могу выследить удаленный файл?

Названия таблиц и столбцов не могут быть заменены параметрами в PDO.

В этом случае вы просто захотите фильтровать и дезинфицировать данные вручную. Один из способов сделать это - передать сокращенные параметры функции, которая будет выполнять запрос динамически, а затем использовать оператор switch() для создания белого списка допустимых значений, которые будут использоваться для имени таблицы или имени столбца. Таким образом, пользовательский ввод никогда не попадает непосредственно в запрос. Например:

function buildQuery( $get_var ) 
{
    switch($get_var)
    {
        case 1:
            $tbl = 'users';
            break;
    }

    $sql = "SELECT * FROM $tbl";
}

Не оставляя случая по умолчанию или используя случай по умолчанию, который возвращает сообщение об ошибке, вы убедитесь, что используются только значения, которые вы хотите использовать.

35
задан Frosty 20 February 2009 в 03:56
поделиться

7 ответов

Имейте Вас, попробовал

ssh -t remotemachine <some command>

опция т из ssh страницы справочника:

 -t      Force pseudo-tty allocation. This can be used to execute 
         arbitrary screen-based programs on a remote machine, which
         can be very useful, e.g. when implementing menu services.
         Multiple -t options force tty allocation, even if ssh has no local tty.

вместо

 -f      Requests ssh to go to background just before command execution.  
         This is useful if ssh is going to ask for passwords or passphrases, 
         but the user wants it in the background.
         This implies -n.  The recommended way to start X11 programs at a remote
         site is with something like ssh -f host xterm.
58
ответ дан SomeGuyOnAComputer 24 September 2019 в 00:26
поделиться

Некоторые идеи:

  • Вы могли смонтировать его по NFS или CIFS, и затем использовать File::Tail .
  • Вы могли использовать один из модулей Perl SSH (существуют много они), объединенный с tail -f.
2
ответ дан Leon Timmermans 24 September 2019 в 00:26
поделиться

netcat должен сделать это для Вас.

1
ответ дан Ranjeet 24 September 2019 в 00:26
поделиться

Существует File::Tail . Не знайте, помогает ли это?

0
ответ дан dsm 24 September 2019 в 00:26
поделиться

rsync://[USER@] ХОСТ [: ПОРТ]/SRC... [DEST] | хвост [DEST]?

0
ответ дан rupert0 24 September 2019 в 00:26
поделиться

Кто-то предложил использовать nc (netcat). Это решение действительно работает, но менее идеально, чем просто использование ssh-t. Самая большая проблема состоит в том, что Вы должны использовать nc с обеих сторон соединения и должны сделать некоторое исследование порта на локальной машине для нахождения надлежащего порта, по которому можно соединиться. Вот адаптация вышеупомянутого кода для использования netcat:

$pid = fork();
if(!$pid)
{
  exec("ssh $host -f 'tail -f $filename |nc $localhost $port'");
  exit;
}

exec("nc -l -p $port");
0
ответ дан Frosty 24 September 2019 в 00:26
поделиться

Вы можете попробовать Survlog Только его OS X.

2
ответ дан 27 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: