C++:
db.cpp açılır
// Aratılır :
void DBManager::Query(const char * c_pszFormat, ...)
{
char szQuery[4096];
va_list args;
va_start(args, c_pszFormat);
vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
va_end(args);
std::string sQuery(szQuery);
m_sql.AsyncQuery(sQuery.substr(0,sQuery.find_first_of(";")==-1?sQuery.length(): sQuery.find_first_of(";")).c_str());
}
SQLMsg * DBManager::DirectQuery(const char * c_pszFormat, ...)
{
char szQuery[4096];
va_list args;
va_start(args, c_pszFormat);
vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
va_end(args);
std::string sQuery(szQuery);
return m_sql_direct.DirectQuery(sQuery.substr(0, sQuery.find_first_of(";") == -1 ? sQuery.length() : sQuery.find_first_of(";")).c_str());
}
// Komple değiştirilir :
#ifdef ENABLE_DBMANAGER_SQL_INJECT_FIX
void DBManager::Query(const char * c_pszFormat, ...)
{
char szQuery[4096];
va_list args;
va_start(args, c_pszFormat);
vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
va_end(args);
std::string sQuery(szQuery);
m_sql.AsyncQuery(sQuery.substr(0, sQuery.find_first_of(";") == std::string::npos ? sQuery.length() : sQuery.find_first_of(";")).c_str());
}
SQLMsg * DBManager::DirectQuery(const char * c_pszFormat, ...)
{
char szQuery[4096];
va_list args;
va_start(args, c_pszFormat);
vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
va_end(args);
std::string sQuery(szQuery);
return m_sql_direct.DirectQuery(sQuery.substr(0, sQuery.find_first_of(";") == std::string::npos ? sQuery.length() : sQuery.find_first_of(";")).c_str());
}
#else
void DBManager::Query(const char * c_pszFormat, ...)
{
char szQuery[4096];
va_list args;
va_start(args, c_pszFormat);
vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
va_end(args);
m_sql.AsyncQuery(szQuery);
}
SQLMsg * DBManager::DirectQuery(const char * c_pszFormat, ...)
{
char szQuery[4096];
va_list args;
va_start(args, c_pszFormat);
vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
va_end(args);
return m_sql_direct.DirectQuery(szQuery);
}
#endif
SON OLARAK definesini ekleyin service.h'a
ENABLE_DBMANAGER_SQL_INJECT_FIX
#define ENABLE_DBMANAGER_SQL_INJECT_FIX
@egesurumC++:db.cpp açılır // Aratılır : void DBManager::Query(const char * c_pszFormat, ...) { char szQuery[4096]; va_list args; va_start(args, c_pszFormat); vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args); va_end(args); std::string sQuery(szQuery); m_sql.AsyncQuery(sQuery.substr(0,sQuery.find_first_of(";")==-1?sQuery.length(): sQuery.find_first_of(";")).c_str()); } SQLMsg * DBManager::DirectQuery(const char * c_pszFormat, ...) { char szQuery[4096]; va_list args; va_start(args, c_pszFormat); vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args); va_end(args); std::string sQuery(szQuery); return m_sql_direct.DirectQuery(sQuery.substr(0, sQuery.find_first_of(";") == -1 ? sQuery.length() : sQuery.find_first_of(";")).c_str()); } // Komple değiştirilir : #ifdef ENABLE_DBMANAGER_SQL_INJECT_FIX void DBManager::Query(const char * c_pszFormat, ...) { char szQuery[4096]; va_list args; va_start(args, c_pszFormat); vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args); va_end(args); std::string sQuery(szQuery); m_sql.AsyncQuery(sQuery.substr(0, sQuery.find_first_of(";") == std::string::npos ? sQuery.length() : sQuery.find_first_of(";")).c_str()); } SQLMsg * DBManager::DirectQuery(const char * c_pszFormat, ...) { char szQuery[4096]; va_list args; va_start(args, c_pszFormat); vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args); va_end(args); std::string sQuery(szQuery); return m_sql_direct.DirectQuery(sQuery.substr(0, sQuery.find_first_of(";") == std::string::npos ? sQuery.length() : sQuery.find_first_of(";")).c_str()); } #else void DBManager::Query(const char * c_pszFormat, ...) { char szQuery[4096]; va_list args; va_start(args, c_pszFormat); vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args); va_end(args); m_sql.AsyncQuery(szQuery); } SQLMsg * DBManager::DirectQuery(const char * c_pszFormat, ...) { char szQuery[4096]; va_list args; va_start(args, c_pszFormat); vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args); va_end(args); return m_sql_direct.DirectQuery(szQuery); } #endif SON OLARAK definesini ekleyin service.h'a ENABLE_DBMANAGER_SQL_INJECT_FIX #define ENABLE_DBMANAGER_SQL_INJECT_FIX
Paylaşım için teşekkürler.
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 11
- Görüntüleme
- 1K
- Cevaplar
- 3
- Görüntüleme
- 648
- Cevaplar
- 33
- Görüntüleme
- 2K
