PHP Script, который вставляет переменные URL в MySQL DB? - PullRequest
0 голосов
/ 06 мая 2009

Я ищу простой и безопасный скрипт для вставки строк в таблицу mysql из скрипта php.

по телефону http://www.myserver.com/addtosometable.php?1=asdf&2=asdf....

Я не спрашиваю, как конкретно, скорее я подумал, что это может быть хорошей платформой для создания примера сценария и поддержания его в соответствии с лучшими практиками ...

Приветствия

Ответы [ 2 ]

2 голосов
/ 06 мая 2009

все переменные URL (переменные GET) помещаются в переменную PHP $_GET в виде массива.

Используя приведенный выше пример myfile.php?1=asdf&2=asdf ваш скрипт будет иметь доступ к массиву, который выглядит следующим образом:

array(
    1 => "asdf"
    2 => "asdf"
)

Если вы хотите увидеть это сами, просто поместите это в свой файл:

print_r($_GET);

Оттуда должна быть простая задача очистить переменные, чтобы избежать атак внедрения , а затем создать инструкцию INSERT. Мне нужно больше узнать о вашей структуре стола и о чем бы то ни было, чтобы помочь вам конкретно с этим. См. Документы по mysql_real_escape_string .

0 голосов
/ 06 мая 2009

Если вы используете MySQL 5, вы можете использовать подготовленные операторы, чтобы избежать большинства форм SQL-инъекций.


$stmt = $db->prepare("INSERT INTO table ( col1, col2 ) values ( ?, ? );
// check for errors 
$result = $stmt->execute( $_GET['1'], $_GET['2'] );
// check for errors

Полагаю, вам все еще нужно беспокоиться об атаках XSS (межсайтовый скриптинг), но это за пределами моего понимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...