草庐IT

Flask-SQLalchemy

全部标签

python - SQLAlchemy + SQL 注入(inject)

在使用SQLAlchemy时缓解SQL注入(inject)攻击的最佳做法是什么? 最佳答案 tldr:尽可能避免使用原始SQL。接受的答案是懒惰且不正确的。filter方法接受原始SQL,如果以这种方式使用,则完全容易受到SQL注入(inject)攻击。例如,如果您要接受来自url的值并将其与过滤器中的原始sql结合起来,那么您很容易受到攻击:session.query(MyClass).filter("foo={}".format(getArgs['val']))使用上面的代码和下面的url,您将在过滤器语句中注入(inject)

python - SQLAlchemy + SQL 注入(inject)

在使用SQLAlchemy时缓解SQL注入(inject)攻击的最佳做法是什么? 最佳答案 tldr:尽可能避免使用原始SQL。接受的答案是懒惰且不正确的。filter方法接受原始SQL,如果以这种方式使用,则完全容易受到SQL注入(inject)攻击。例如,如果您要接受来自url的值并将其与过滤器中的原始sql结合起来,那么您很容易受到攻击:session.query(MyClass).filter("foo={}".format(getArgs['val']))使用上面的代码和下面的url,您将在过滤器语句中注入(inject)

python - Sqlalchemy 删除子查询

我正在尝试使用没有结果的过滤查询删除一些子行:sl=DBSession.query(Puesto.id).filter(Puesto.locales_id==id).subquery()DBSession.query(Servicio).filter(Servicio.puestos_id.in_(sl)).delete()我收到InvalidRequestError:无法在Python中评估当前标准。为synchronize_session参数指定'fetch'或False。为错误。完整的堆栈跟踪:Traceback(mostrecentcalllast):File"/usr/src

python - Sqlalchemy 删除子查询

我正在尝试使用没有结果的过滤查询删除一些子行:sl=DBSession.query(Puesto.id).filter(Puesto.locales_id==id).subquery()DBSession.query(Servicio).filter(Servicio.puestos_id.in_(sl)).delete()我收到InvalidRequestError:无法在Python中评估当前标准。为synchronize_session参数指定'fetch'或False。为错误。完整的堆栈跟踪:Traceback(mostrecentcalllast):File"/usr/src

python - 运行 Flask 时出现警告消息

当我从命令行运行Flask代码时,出现警告:ServingFlaskapp"hello_flask"(lazyloading)*Environment:productionWARNING:Donotusethedevelopmentserverinaproductionenvironment.UseaproductionWSGIserverinstead.这是什么意思? 最佳答案 如theFlaskdocumentation中所述:Whilelightweightandeasytouse,Flask’sbuilt-inserveri

python - 运行 Flask 时出现警告消息

当我从命令行运行Flask代码时,出现警告:ServingFlaskapp"hello_flask"(lazyloading)*Environment:productionWARNING:Donotusethedevelopmentserverinaproductionenvironment.UseaproductionWSGIserverinstead.这是什么意思? 最佳答案 如theFlaskdocumentation中所述:Whilelightweightandeasytouse,Flask’sbuilt-inserveri

python - 将 postgresql 与 sqlalchemy 连接起来

我知道这可能是一个非常简单的问题,但我不知道解决方案。当我尝试连接到postgresql时,这里发生了什么?我是数据库和编程领域的自学者,所以请对我温柔一点。当我尝试以下代码时:importsqlalchemydb=sqlalchemy.create_engine('postgresql:///tutorial.db')我收到此错误:Traceback(mostrecentcalllast):File"",line1,indb=sqlalchemy.create_engine('postgresql:///tutorial.db')File"C:\Python27\lib\site-p

python - 将 postgresql 与 sqlalchemy 连接起来

我知道这可能是一个非常简单的问题,但我不知道解决方案。当我尝试连接到postgresql时,这里发生了什么?我是数据库和编程领域的自学者,所以请对我温柔一点。当我尝试以下代码时:importsqlalchemydb=sqlalchemy.create_engine('postgresql:///tutorial.db')我收到此错误:Traceback(mostrecentcalllast):File"",line1,indb=sqlalchemy.create_engine('postgresql:///tutorial.db')File"C:\Python27\lib\site-p

python - SQLAlchemy:使用声明式更新的更好方法?

我是SQLAlchemy菜鸟。假设我有一个声明模式的用户表:classUser(Base):__tablename__='user'id=Column(u'id',Integer(),primary_key=True)name=Column(u'name',String(50))当我知道没有对象加载到session中的用户ID时,我会像这样更新这样的用户:ex=update(User.__table__).where(User.id==123).values(name=u"BobMarley")Session.execute(ex)我不喜欢使用User.__table__,我应该停止担

python - SQLAlchemy:使用声明式更新的更好方法?

我是SQLAlchemy菜鸟。假设我有一个声明模式的用户表:classUser(Base):__tablename__='user'id=Column(u'id',Integer(),primary_key=True)name=Column(u'name',String(50))当我知道没有对象加载到session中的用户ID时,我会像这样更新这样的用户:ex=update(User.__table__).where(User.id==123).values(name=u"BobMarley")Session.execute(ex)我不喜欢使用User.__table__,我应该停止担