Я использую три разных способа предотвращения уязвимости моего веб-приложения для SQL-инъекции.
mysql_real_escape_string()
, которое является предопределенной функцией в PHP , и этот код добавляет обратную косую черту к следующим символам: \x00
, \n
, \r
, \
, '
, "
и \x1a
. Передайте входные значения в качестве параметров, чтобы свести к минимуму вероятность внедрения SQL. Надеюсь, это поможет вам.
Рассмотрим следующий запрос:
$iId = mysql_real_escape_string("1 OR 1=1");
$sSql = "SELECT * FROM table WHERE id = $iId";
mysql_real_escape_string () здесь не защитит. Если вы используете одиночные кавычки ('') вокруг ваших переменных внутри вашего запроса, это то, что защищает вас от этого. Ниже приведено ниже решение:
$iId = (int) mysql_real_escape_string("1 OR 1=1");
$sSql = "SELECT * FROM table WHERE id = $iId";
В этом вопросе есть хорошие ответы.
Я предлагаю , наилучшим вариантом является использование PDO.
Изменить:
mysql_real_escape_string()
устарел с PHP 5.5.0. Используйте либо mysqli, либо PDO.
Альтернативой mysql_real_escape_string () является
string mysqli_real_escape_string ( mysqli $link , string $escapestr )
Пример:
$iId = $mysqli->real_escape_string("1 OR 1=1");
$mysqli->query("SELECT * FROM table WHERE id = $iId");
Начиная с junit 4.7, теперь можно запускать тесты параллельно без использования TestNG. На самом деле это стало возможным с версии 4.6, но в 4.7 внесен ряд исправлений, которые сделают это жизнеспособным вариантом. Вы также можете запускать параллельные тесты с помощью Spring, о которых вы можете прочитать здесь
TestNG может сделать это (это было моим первым отражением - тогда я видел, что у Вас уже есть много тестовых сценариев).
Для JUnit, посмотрите параллель-junit .
Можно изменить тест, чтобы быть тестом TestNg за минуту (просто необходимо изменить импорт), TestNG является лучшим в параллельном тестировании.
Вы могли попробовать Gridgain, который позволяет, Вы работать распределяете свои тесты через вычислить сетку.
tempus-fugit предлагает что-то похожее, проверьте подробности в документах. Он полагается на JUnit 4.7, и вы просто отмечаете свой тест на @RunWith(ConcurrentTestRunner)
.
Cheers
.