Java, эквивалентный для mysql_real_escape_string PHP ()

with open(filename) as f:
    content = f.readlines()
# you may also want to remove whitespace characters like `\n` at the end of each line
content = [x.strip() for x in content] 
14
задан Kieran Tully 10 October 2011 в 22:36
поделиться

3 ответа

Насколько мне известно, «стандартного» способа сделать это не существует.

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

Безопасность, которую вы получаете, должна быть намного выше, чем проблема производительности, которой у вас даже нет. еще не видел. На мой взгляд, это явная ситуация «Не оптимизируйте преждевременно».

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

Это даже более важно, поскольку я предполагаю, что вы разрабатываете своего рода общедоступный сайт - внутренние приложения в любом случае редко получают достаточно трафика, чтобы заботиться о производительности.

А до тех пор вы должны избавить себя от хлопот, пытаясь правильно ускользнуть.

Это даже более важно, поскольку я предполагаю, что вы разрабатываете своего рода общедоступный сайт - внутренние приложения в любом случае редко получают достаточно трафика, чтобы заботиться о производительности.

А до тех пор вы должны избавить себя от хлопот, пытаясь правильно ускользнуть.

Это даже более важно, поскольку я предполагаю, что вы разрабатываете своего рода общедоступный сайт - внутренние приложения в любом случае редко получают достаточно трафика, чтобы заботиться о производительности.

12
ответ дан 1 December 2019 в 09:33
поделиться

Единственный разумный способ избежать внедрения SQL - это использовать подготовленные / параметризованные операторы.

Например, PreparedStatement , который вы по какой-то причине пытаетесь избежать. Если вы делаете одноразовые утверждения, время на их подготовку должно быть незначительным («одноразовые» и «критичные к производительности» - противоречие, ИМХО). Если вы делаете что-то в цикле, подготовленные операторы даже увеличивают производительность.

3
ответ дан 1 December 2019 в 09:33
поделиться

Do not assume that PreparedStatements are slower. Try it, measure it, and then judge.

PreparedStatements should always be used in preference to Statement, pretty much without exception, especially when SQL injection attacks are what you're trying to avoid.

5
ответ дан 1 December 2019 в 09:33
поделиться
Другие вопросы по тегам:

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