草庐IT

SQL语言

全部标签

php - 如何演示二阶 SQL 注入(inject)?

所以我一直在尝试复制二阶SQL注入(inject)。这是我准备的两个基于php的站点的示例模板。我们就称它为选民登记表吧。用户可以注册,然后您可以检查您是否是注册选民。插入.php";$qry=mysql_query($sql_statement,$conn)||die(mysql_error());mysql_close($conn);Echo"Datainsertedsuccessfully";}?>选择.php";$result=mysql_query($sql,$conn);$row=mysql_fetch_row($result);$sql1="SELECT*FROMcana

PHP:检查来自任何基于拉丁语的语言的字母字符?

我想使用PHP检查字符串是否仅包含字母字符(我不想允许任何数字或特殊字符,如!@#$%^&*)。ctype_alpha()似乎很适合这个目的。问题是我想允许重音字母,例如法语等。例如,我想允许“Lórien”。我知道ctype_alpha()可以与set_locale()一起使用,但是对于这个用例来说这似乎仍然太有限了,因为我想允许所有字符以拉丁语为基础的语言。有什么想法可以最好地实现这一目标吗?注意:解决方案发布在HowcanIdetectnon-westerncharacters?非常适合显式检测非拉丁字符,但它允许特殊字符和空格,这是我不想允许的:preg_match('/[^\

php - Wordpress 和 qTranslate - 在 functions.php 中获取当前语言

我在我的Wordpress网站上使用qTranslate插件,现在我必须检测主题functions.php文件中的事件语言。检测函数qtrans_getLanguage()正在运行,但是,它始终将默认语言(en)显示为事件状态,即使我在页面本身中切换了它。如何检测函数文件中的语言? 最佳答案 这对我有用:if(qtrans_getLanguage()=='en'){//englishprint"Helloworld!";}elseif(qtrans_getLanguage()=='es'){//spanishprint"HolaMu

php - 从表 sql server (php) 获取元数据

我正在尝试从我的数据库(sqlserver)上的表中获取元数据。我执行查询以在SqlManagementStudio上获取该元数据并且它有效但在我执行时在php脚本上显示该错误:$row=sqlsrv_fetch_array($res):“在calc_string_size中遇到意外的SQL类型。”我怀疑问题出在php上查询字符串的构建上,但这不是因为我打印了该查询并且它是正确的。当我在选择(列描述)上添加一个字段时出现问题。有人知道这个问题吗? 最佳答案 你可能有sql_变量查询中的某处。这会引发错误->您必须将特定列转换为VAR

php - ctype_alnum 对抗 SQL 注入(inject)

准备好的语句不允许参数化表名。为了确保无法插入任何代码,我想使用ctype_alnum来验证进入数据库模块的所有表名(删除下划线后),以保护应用程序免受其他部分错误的影响。functioninsert($table){if(!ctype_alnum(str_replace("_","",$table)))thrownewException("Invalidtablename");$sql="INSERTINTO$tableVALUESvalue=:value";#...prepareandexecute}是否存在这不足以抵御的攻击?我在想例如multibytecharacterexpl

php - 我这里的错误是什么,显示 SQL 语法错误?

这个问题在这里已经有了答案:SyntaxerrorduetousingareservedwordasatableorcolumnnameinMySQL(1个回答)关闭8年前。$upper=$this->db->query("SELECT*FROM".DB_PREFIX."settingWHEREkey='ndz_limit_up'");$lower=$this->db->query("SELECT*FROM".DB_PREFIX."settingWHEREkey='ndz_limit_down'");请帮忙。

php - 如何解决错误 : SQL authentication method unknown in Laravel-MySql

我使用docker,并且我有一个LaravelFramework5.5.25容器和另一个带有mysqlVer8.0.11forLinuxonx86_64(MySQLCommunityServer-GPL)的容器。在我的dockercompose配置中,我有这个:version:"2"services:mysql:image:mysqlports:-"3307:3306"command:--sql_mode=""所以,当Laravel尝试连接到MySql时,出现了这个错误:SQLSTATE[HY000][2054]Theserverrequestedauthenticationmetho

php - 如何防止在 Zend Framework 中编程的应用程序中的 SQL 注入(inject)攻击?

我对采埃孚的安全性没有任何概念。操作数据库一定要用Filter吗?也许绑定(bind)就足够了?这个怎么样:$users->update($data,'id=1');是否应该以某种方式过滤$data数组?请随意写下您对这个问题的任何了解。您能否提供一些有关ZF安全性的好文章的链接(主要是关于SQL注入(inject)和XSS)? 最佳答案 简答虽然ZF采取并提供了一些措施来保护您的应用程序,但您仍应采取与没有ZendFramework时相同的预防措施。关于您的代码片段,请查看关于Zend_DbintheReferenceGuide的

php - 用一个 SQL 查询拯救 20 个用户?

我在Doctrine中这样保存用户:$user=User();$user->name='peter';$user->save();有没有办法在一个sql查询中保存20个用户?还是我必须将上面的代码循环20次才能创建20个sql查询?谢谢 最佳答案 您可以将您的$user对象添加到Doctrine_Collection然后调用$collection->save(),它基本上会为您执行循环。 关于php-用一个SQL查询拯救20个用户?,我们在StackOverflow上找到一个类似的问题:

php - 带有 zend 语言环境的国家名称

当我将国家/地区保存到我的数据库中时,我使用国际缩写。如何将带有zend_locale的缩写转换为完整的国家/地区名称? 最佳答案 这是方法。它会尝试使用浏览器的区域设置,如果失败则默认为美国英语。try{$locale=newZend_Locale(Zend_Locale::BROWSER);$countries=$locale->getTranslationList('Territory',Zend_Locale::BROWSER,2);}catch(exception$e){$locale=newZend_Locale('en