Избавьтесь от разрывов страницы в отчете

Я использую три разных способа предотвращения уязвимости моего веб-приложения для SQL-инъекции.

  1. Использование mysql_real_escape_string(), которое является предопределенной функцией в PHP , и этот код добавляет обратную косую черту к следующим символам: \x00, \n, \r, \, ', " и \x1a. Передайте входные значения в качестве параметров, чтобы свести к минимуму вероятность внедрения SQL.
  2. Самый продвинутый способ - использовать PDO.

Надеюсь, это поможет вам.

Рассмотрим следующий запрос:

$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");

42
задан Jeff 21 April 2014 в 20:38
поделиться

3 ответа

Удостоверьтесь, что у Вас нет одного из набора свойств к истинному на одном из Ваших объектов отчета для PageBreakAtEnd или PageBreakAtStart. Кроме того, удостоверьтесь, что Вы сохраняете ширину своего отчета меньше, чем ширина Вашей фактической статьи, имея в виду дополнительное пространство для полей страницы (Отчет> Свойства Отчета> Расположение)

И по данным Microsoft: "Хотя это не рекомендуется, можно отключить мягкие разрывы страницы установкой InteractiveHeight к 0". Я думаю, что это только работает на рендеринг HTML, хотя, я не использовал его сам.

я не уверен, существует ли масштаб какого-либо вида, где, неважно, то, насколько большой Ваш отчет - он все еще, печатает на одной странице если, именно это Вы ищете.

17
ответ дан Dustin Brooks 26 November 2019 в 23:31
поделиться

Dustin Brooks записал:

кроме того, удостоверьтесь, что Вы сохраняете ширину своего отчета меньше, чем ширина Вашей фактической статьи, имея в виду дополнительное пространство для полей страницы (Отчет> Свойства Отчета> Расположение)

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

2
ответ дан Dan Sydner 26 November 2019 в 23:31
поделиться

При создании отчетов для Интернета я бы отключил разрывы страниц, установив для InteractiveSize что-то действительно сумасшедшее, например, 1000x1000 ". (Я только что проверил и установил для него значение 0x0", как Дастин Брукс , упомянутый в его ответе , имеет тот же эффект.)

Я оставил для свойства PageSize значение 8,5x11 ", и отчеты обычно распечатываются на нескольких страницах.

1
ответ дан 26 November 2019 в 23:31
поделиться
Другие вопросы по тегам:

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