草庐IT

container-escape-check

全部标签

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

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

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

mysql - 数据库设计 : save different details of payment (credit or check)

我有一个成员(member)可以通过三种不同的方式付款:信用卡检查从银行账户转账如何设计一个表格来记录他们的支付类型?对于每种支付类型,必填字段会有所不同,那么我如何设计一个可以消除空白字段的结构? 最佳答案 我认为错误的答案是有3个表。然后公共(public)数据——如“支付金额”——在多个表中重复,而像“本月支付的总额是多少”这样的简单查询需要3表联合或连接。另外,如果添加了第四种支付类型,则必须修改对这3个表有效的任何查询,并且肯定会有人遗漏一个。因此有两个可能的正确答案:一个包含某些支付类型未使用的字段的单个表;或4个表,一

MySQL Check if table exists 错误

我正在尝试检查一个表是否已经存在,但是我无法让它工作。IFEXISTS(SELECT1FROMsysobjectsWHERExtype='u'ANDname='tablename')SELECT'tablealreadyexists.'ELSEBEGINCREATETABLEWeek_(idINT(10)AUTO_INCREMENTPRIMARYKEY(id),......)END;我的错误:#1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherig

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

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

mysql - 如何建模 "participation in container and child"

考虑这个ER图我们有被录取参加考试的学生,每个考试可以分成多个运行(例如,将大组分成多个房间或直接连续地为同一考试进行两个运行).是否有可能(通过数据库约束)确保学生只参加属于他们被录取的考试的运行?我自己找不到方法,也不知道如何用这个词来进行互联网搜索。 最佳答案 您有这些表和列:考试:身份证,姓名学生:身份证、姓名run:id,exam_id(exam.id的外键),when(timestamp),room您需要一个新的交叉表来跟踪哪个学生正在参加什么考试:int_exam_to_student:exam_id,student_

php - 没有连接的多字节的mysql_real_escape_string?

让我们考虑一下我将永远做一个SETNAMES'utf8'到mysql连接(所以我需要多字节转义)。是否有不需要mysql连接的mysql_real_escape_string的安全替代方案?在官方页面我发现了一个comment像这样使用str_replace:if(!empty($inp)&&is_string($inp)){returnstr_replace(array('\\',"\0","\n","\r","'",'"',"\x1a"),array('\\\\','\\0','\\n','\\r',"\\'",'\\"','\\Z'),$inp);}够了吗?如果mysql_rea

MySQL - ON 更新 CASCADE + foreign_key_checks = 0

我正在开发一种工具来合并两个具有相同架构但不同数据的数据库。其中一部分是将所有外键更改为ONUPDATECASCADE,然后递增所有主键以避免冲突并保持外键指针正常工作。我的问题是有时有一些孤立行的FK损坏,所以查询如下:UPDATEtablesetpk=pk+1000000失败是这样的:错误1452(23000):无法添加或更新子行:外键约束失败...(尽管我什至没有考虑触摸外键列!)我想通过以下方式关闭它:Setforeign_key_checks=0但是相关的外键没有更新。我做了一个快速测试,设置foreign_key_checks=0后级联不工作。有没有什么方法可以触发级联,或

docker报错之:docker: Error response from daemon: Conflict. The container name “xxx“ is already in use b

        最近再使用docker搭建靶场环境的时候,遇到了docker容器报错。这是docker守护进程冲突引起的响应错误。猜测可能是之前启动容器未正确的退出导致的。需要将以前启动过的容器删掉。1、dockerps-a查看所有的容器状态,包括正在运行和已经停止的。2、dockerrmid 删除容器3、重新启动docker然后就可以重新启动容器了。