草庐IT

String转byte

全部标签

php - mysql_real_escape_string() 不应该在数据库中留下斜杠吗?

我正在使用smarty和mysql_real_escape_string()进行用户输入,当我用'或"插入一些代码时,并在phpmyadmin中查找它显示时没有反斜杠。当我从数据库中获取记录时,我也没有反斜杠。但是当我只是传递转义字符串而不插入数据库时它是反斜杠的。它不应该添加斜杠,插入它们然后我会我什么时候输出?还是我遗漏了什么? 最佳答案 你错过了它-用反斜杠转义是为了确保查询没有格式错误,例如像这样的东西肯定会破坏并可能冒SQL注入(inject)的风险:insertintotablevalues('whatever'this

PHP mysql_real_escape_string() 和 % 字符

mysql_real_escape_string()对%(百分比)字符有什么作用,它代表了多少安全风险(以及如何解决)? 最佳答案 来自mysql_real_escape_string()documentation:Note:mysql_real_escape_string()doesnotescape%and_.ThesearewildcardsinMySQLifcombinedwithLIKE,GRANT,orREVOKE.就安全性而言,除非您正在运行LIKE、GRANT或REVOKE,否则这不是问题。LIKE可能是唯一真正关注

mySQL - Int(9.455.487) 在 mySQL 中是否比 string(John) 占用更多空间?

我知道在数据库中int占用的空间比string少。但是如果int真的比string长呢。例如9.455.487与“约翰”。哪一个会占用更多空间?TY 最佳答案 来自documentation,int的大小为4个字节,而char的大小为“M×w字节,0所以当你说占用多少空间时,int会占用4个字节的值,只要值在int范围内。像“John”这样的字符串,如果声明为char(4)将占用4*w个字节,因此假设w为1至少需要4个字节。长话短说,一个数字的大小不是写出来的时候有多少字符长,而是用二进制形式表示它的字节数。

php - mysql_real_escape_string 应该是我在注册表单中输入的密码吗?

当用户注册时,我使用mysql_real_escape_string清除密码,如下所示$password=clean($_POST['password']);在将其添加到数据库之前,我使用:$hashedpassword=sha1('abcdef'.$password);并将其保存到mySQL中。我的问题是我应该清理它还是在将密码添加到数据库之前对密码进行哈希处理? 最佳答案 嗯,有一个主要的误解。mysql_real_escape_string()不清理任何东西。它与安全完全无关。此函数仅用于转义分隔符,仅此而已。它可以帮助您将字

PHP 和 MySQL 错误 : Object of class mysqli_result could not be converted to string

这个问题在这里已经有了答案:Objectofclassmysqli_resultcouldnotbeconvertedtostring(5个答案)关闭去年。我收到错误:Objectofclassmysqli_resultcouldnotbeconvertedtostring.代码:正确的做法是什么?

php - codeIgniter 使用 mysql_real_escape_string() 代替。数据库连接问题

我在带有数据库的服务器上安装了codeigniter我想在我的mac上运行相同的数据库,我使用MAMP并将项目文件夹复制到htdocs中,但是我有这个错误你能帮帮我吗?ErrorException[8192]:mysql_escape_string():Thisfunctionisdeprecated;usemysql_real_escape_string()instead. 最佳答案 不要害怕更改核心文件,只需更改FCPATH/system/database/drivers/mysqli/mysqli_driver.phpfunc

PHP/SQL : Un-md5 a string

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Isitpossibletodecryptmd5hashes?我有一个数据库来存储用户名、密码、电子邮件等。如果用户忘记了他/她的密码,我会将其发送到他们的电子邮件帐户。问题是我在将密码存储到我的数据库之前将其加密为md5。如果用户的密码是ABC,我将其作为867dbd57e9ca9f808存储在我的数据库中。如果用户忘记密码,我无法发送用户“867dbd57e9ca9f808”。我需要发送“ABC”。但是,这需要我“取消md5”字符串,我认为这是不可能的。

php - 什么时候最推荐使用 mysql_real_escape_string()

我实际上是第一次使用这个函数..并且在找到它之前使用了preg_replace和addslashes。我主要是好奇,因为我即将在我的第一个大型应用程序中检查并加强发布区域的安全性,并且想知道此功能有效的最佳实例,强烈推荐。我已经看到这个功能在几种不同的情况下应用,不仅仅是在发布用户输入之前......而是在一般查询完成时,所以我真的很好奇它的全部可能性,以及如何实现它的全部有效性。此外,我们将不胜感激任何绝对可靠的安全方法和一般性建议。干杯! 最佳答案 理想情况下你应该永远使用它,因为Parameterizedqueries(通过P

java.sql.SQLException : Incorrect string value: '\xF0\x9F\x98\x8F' for column 'tweetcontent' at row 1 异常

我尝试将推特提要保存在下表中的mysql数据库中CREATETABLE`tweets`(`id`int(11)NOTNULLAUTO_INCREMENT,`tweetcontent`varchar(255)CHARACTERSETutf8mb4NOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=22DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_ci;但是出现了如下错误java.sql.SQLException:Incorrectstringvalue:'\xF0\x9F\x98\x8F'

php - MariaDB 在 `authentication_string` 表中同时具有 `Password` 和 `mysql.user` 字段

我安装了MariaDB,它是Arch(Antergos)Linux中MySQL的默认包。我还执行了mysql_secure_installation并更改了root密码。之后,我安装了PHPMyAdmin并尝试登录仪表板,但无法使用root帐户登录,因为明显的“错误密码”感觉很奇怪,因为我肯定知道密码是什么。多次尝试失败。过了一会儿,我受够了,并尝试使用--skip-grant-tables方法更改密码。现在因为我的MySQL版本是最新的,而不是Password字段,你现在有authentication_string。因此,我将authentication_string更改为新的PAS