|
|
|
|
|
|
|
|
|
|
|
|
| SQL Injection : Code-Level Defenses - Validating Input |
| When performing input validation you should always ensure that the input is in its canonical (simplest) form before making any input validation decisions. This may involve decoding the input into a simpler format, or just rejecting input that isn't already in canonical format where non-canonical input isn't expected. |
|
| SQL Injection : Code-Level Defenses - Using Parameterized Statements |
| One of the root causes of SQL injection is the creation of SQL queries as strings that are then sent to the database for execution. This behavior, commonly known as dynamic string building or dynamic SQL, is one of the primary causes of an application being vulnerable to SQL injection. |
|
| SQL Server 2005 : Extending User-Defined Aggregates |
| Each of the other SQLCLR features, with the possible exception of triggers, will see more use in production applications than will aggregates, but aggregates and types are the only members of the group that can help developers do things that simply were not possible before. |
|
|
|
|
|
|
|
|
|
|
|
|
|
| MySQL for Python : Handling exceptions passed from MySQL |
| MySQL for Python takes care of the nitty-gritty of communication between your program and MySQL. As a result, handling exceptions passed from MySQL is as straightforward as handling exceptions passed from any other Python module. |
|
|
|
|
|
|
|
|
|
|
|
| MySQL for Python : Exception Handling (part 1) |
| The value of rigorous error checking is exemplified in any of the several catastrophes arising from poor software engineering. Examples abound, but a few are particularly illustrative of what happens when bad data and design go unchallenged. |
|
|
|
|
|
|
|
|
|
|
|
| SQL Server 2008 : SQL Server and SANs |
| SAN storage design goals are often in conflict with those of SQL Server. SANs are effective at maximizing disk utilization by sharing a large central store of disks between many servers. |
|
| SQL Injection : Evading Input Filters (part 3) |
| Sanitizing filters often perform several operations on user-supplied data, and occasionally one of the steps is to truncate the input to a maximum length, perhaps in an effort to prevent buffer overflow attacks, or accommodate data within database fields that have a predefined maximum length. |
|
|
|